|
mjplusplus
v0.4.1
|
#include <PrimaryExpression.hpp>
Public Types | |
| enum | Object_Type { NULL_OBJECT, THIS_OBJECT } |
Public Member Functions | |
| Object (Object_Type object_type, source_position_t position) | |
| virtual void | toString (std::ostream &out, unsigned int, 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 Object_Type | getObjectType () 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) | |
Additional Inherited Members | |
Protected Attributes inherited from ast::PositionAwareNode | |
| source_position_t | position |
| ast::pe::Object::Object | ( | Object_Type | object_type, |
| source_position_t | position | ||
| ) |
|
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