|
mjplusplus
v0.4.1
|
#include <PrimaryExpression.hpp>
Public Member Functions | |
| Ident (shptr< ast::Ident > identifier) | |
| virtual void | toString (std::ostream &out, unsigned int ident, bool=false) const |
| virtual shptr< Type > | get_type (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable) const |
| virtual bool | isLValue () const |
| virtual void | accept (ASTVisitor &visitor) const |
| virtual std::string const & | getIdentifier () const |
Public Member Functions inherited from ast::pe::PrimaryExpression | |
| PrimaryExpression (source_position_t position) | |
| virtual bool | standalone () const |
| virtual std::pair< bool, bool > | constBool () const |
Public Member Functions inherited from ast::Expression | |
| Expression (source_position_t position) | |
Public Member Functions inherited from ast::PositionAwareNode | |
| source_position_t | getPosition () const |
| PositionAwareNode (lexer::Token const &token) | |
| PositionAwareNode (source_position_t const &position) | |
Public Member Functions inherited from ast::IdentBase | |
| shptr< VariableDeclaration const > | getDeclaration () const |
Additional Inherited Members | |
Protected Member Functions inherited from ast::IdentBase | |
| IdentBase () | |
Protected Attributes inherited from ast::PositionAwareNode | |
| source_position_t | position |
Protected Attributes inherited from ast::IdentBase | |
| shptr< VariableDeclaration const > | declaration |
| ast::pe::Ident::Ident | ( | shptr< ast::Ident > | identifier | ) |
|
virtual |
Reimplemented from ast::Expression.
|
virtual |
Idea: When getting the type of an Expression, the Expression checks if it's own and it's children Expressions type definitions are valid and then returns it's type. If something is invalid, an error is printed in the Expression that is invalid and an empty pointer is returned.
Implements ast::Expression.
|
virtual |
|
virtual |
Implements ast::Expression.
|
virtual |
writes a representation of the Node to out, including all children. special invokes "special" behavior for certain nodes MethodDeclaration: print static keyword Block & If: skip indentation Expression: don't print surrounding parens in addition Block doesn't print newline after trailing } if ~indent is passed instead of indent
Implements ast::Node.
1.8.8