mjplusplus
v0.4.1
|
#include <PostfixOpsVisitor.hpp>
Public Member Functions | |
PostfixOpsVisitor (ExpressionVisitor &expressionVisitor) | |
virtual void | visit (shptr< ast::po::FieldAccess const > fieldAccess) |
virtual void | visit (shptr< ast::po::ArrayAccess const > arrayAccess) |
virtual void | visit (shptr< ast::po::MethodInvocation const > methodInvocation) |
![]() | |
VisitorWithResultNode () | |
ir_node * | getResultNode () const |
ir_type * | getResultType () const |
void | setDoStore (bool s) |
int | getVarNum () const |
![]() | |
FirmVisitor () | |
virtual void | setOwner (ir_type *owner) |
virtual ir_type * | getOwner () const |
![]() | |
virtual void | visit (shptr< Node const > node) |
virtual void | visit (shptr< Arguments const > node) |
virtual void | visit (shptr< be::BinaryExpression const > node) |
virtual void | visit (shptr< be::AndAnd const > node) |
virtual void | visit (shptr< be::Eq const > node) |
virtual void | visit (shptr< be::EqEq const > node) |
virtual void | visit (shptr< be::GreaterThan const > node) |
virtual void | visit (shptr< be::GreaterThanEq const > node) |
virtual void | visit (shptr< be::Invalid const > node) |
virtual void | visit (shptr< be::LessThan const > node) |
virtual void | visit (shptr< be::LessThanEq const > node) |
virtual void | visit (shptr< be::Minus const > node) |
virtual void | visit (shptr< be::Mod const > node) |
virtual void | visit (shptr< be::Mult const > node) |
virtual void | visit (shptr< be::NotEq const > node) |
virtual void | visit (shptr< be::OrOr const > node) |
virtual void | visit (shptr< be::Plus const > node) |
virtual void | visit (shptr< be::Slash const > node) |
virtual void | visit (shptr< ClassDeclaration const > node) |
virtual void | visit (shptr< ClassMember const > node) |
virtual void | visit (shptr< Expression const > node) |
virtual void | visit (shptr< FieldDeclaration const > node) |
virtual void | visit (shptr< Ident const > node) |
virtual void | visit (shptr< MainMethodDeclaration const > node) |
virtual void | visit (shptr< MethodDeclaration const > node) |
virtual void | visit (shptr< pe::PrimaryExpression const > node) |
virtual void | visit (shptr< pe::Bool const > node) |
virtual void | visit (shptr< pe::Ident const > node) |
virtual void | visit (shptr< pe::Integer const > node) |
virtual void | visit (shptr< pe::MethodInvocation const > node) |
virtual void | visit (shptr< pe::NewArrayExpression const > node) |
virtual void | visit (shptr< pe::NewObjectExpression const > node) |
virtual void | visit (shptr< pe::Object const > node) |
virtual void | visit (shptr< po::PostfixExpression const > node) |
virtual void | visit (shptr< po::PostfixOp const > node) |
virtual void | visit (shptr< po::ArrayAccess const > node) |
virtual void | visit (shptr< po::FieldAccess const > node) |
virtual void | visit (shptr< po::MethodInvocation const > node) |
virtual void | visit (shptr< Program const > node) |
virtual void | visit (shptr< stmt::Statement const > node) |
virtual void | visit (shptr< stmt::Block const > node) |
virtual void | visit (shptr< stmt::ExpressionStatement const > node) |
virtual void | visit (shptr< stmt::IfStatement const > node) |
virtual void | visit (shptr< stmt::LVDStatement const > node) |
virtual void | visit (shptr< stmt::ReturnStatement const > node) |
virtual void | visit (shptr< stmt::WhileStatement const > node) |
virtual void | visit (shptr< Type const > node) |
virtual void | visit (shptr< TypeIdent const > node) |
virtual void | visit (shptr< ue::UnaryExpression const > node) |
virtual void | visit (shptr< ue::Neg const > node) |
virtual void | visit (shptr< ue::Not const > node) |
Protected Attributes | |
ExpressionVisitor & | expressionVisitor |
![]() | |
ir_node * | resultNode |
ir_type * | resultType |
bool | doStore |
int | varNum |
![]() | |
ir_type * | owner |
firm::visitor::PostfixOpsVisitor::PostfixOpsVisitor | ( | ExpressionVisitor & | expressionVisitor | ) |
Constructs a PostfixOpsVisitor from the visited ExpressionVisitor.
expressionVisitor | the visited ExpressionVisitor |
|
virtual |
Evaluates the visited FieldAccess by evaluating its declaration with the help of a VariableDeclVisitor, that is initialized with the current resultNode of this expressionVisitor.
fieldAccess | the visited FieldAccess |
|
virtual |
Gets the node of the array from the expressionVisitor, then evaluates the index-expression using a new ExpressionVisitor and then creates the address node of the element.
arrayAccess | the visited ArrayAccess |
|
virtual |
Creates a node for the method call with the help of FirmInterface. Sets the resultNode and -Type to node and type of the call.
methodInvocation | the visited MethodInvocation |
|
protected |
The calling ExpressionVisitor