mjplusplus
v0.4.1
|
#include <BoolExpressionVisitor.hpp>
Public Member Functions | |
BoolExpressionVisitor (ir_node *thenBlock, ir_node *elseBlock) | |
virtual void | visit (shptr< ast::pe::Bool const > boolExpr) |
virtual void | visit (shptr< ast::pe::Ident const > identExpr) |
virtual void | visit (shptr< ast::pe::MethodInvocation const > methodInvocationExpr) |
virtual void | visit (shptr< ast::ue::Not const > notExpr) |
virtual void | visit (shptr< ast::be::Eq const > eqExpr) |
virtual void | visit (shptr< ast::be::AndAnd const > andAndExpr) |
virtual void | visit (shptr< ast::be::OrOr const > orOrExpr) |
virtual void | visit (shptr< ast::be::EqEq const > eqEqExpr) |
virtual void | visit (shptr< ast::be::GreaterThan const > greaterThanExpr) |
virtual void | visit (shptr< ast::be::GreaterThanEq const > greaterThanEqExpr) |
virtual void | visit (shptr< ast::be::Invalid const > invalidExpr) |
virtual void | visit (shptr< ast::be::LessThan const > lessThanExpr) |
virtual void | visit (shptr< ast::be::LessThanEq const > lessThanEqExpr) |
virtual void | visit (shptr< ast::be::NotEq const > notEqExpr) |
virtual void | visit (shptr< ast::po::PostfixExpression const > postfixExpr) |
![]() | |
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) |
Additional Inherited Members | |
![]() | |
ir_type * | owner |
firm::visitor::BoolExpressionVisitor::BoolExpressionVisitor | ( | ir_node * | thenBlock, |
ir_node * | elseBlock | ||
) |
Constructs a BoolExpressionVisitor with the given then- and elseBlock. All boolean expressions are short circuit-evaluated.
thenBlock | |
elseBlock |
|
virtual |
Visits a primary Bool expression and adds the necessary blocks to the graph.
boolExpr | the visited primary Bool expression |
|
virtual |
Visits a primary Ident expression and adds the necessary blocks to the graph.
identExpr | the visited primary Ident expression |
|
virtual |
Visits a primary MethodInvocation expression and adds the necessary blocks to the graph.
methodInvocationExpr | the visited primary Ident expression |
|
virtual |
Visits a unary Not expression, swaps the necessary blocks to the graph and then evaluates the child.
notExpr | the visited unary Not expression |
|
virtual |
Visits the binary '=' (Eq-)expression and adds the necessary blocks to the graph.
eqExpr | the visited Eq expression |
|
virtual |
Visits the binary '&&' (AndAnd-)expression and adds the necessary blocks to the graph.
andAndExpr | the visited AndAnd expression |
|
virtual |
Visits the binary '||' (OrOr-)expression and adds the necessary blocks to the graph.
orOrExpr | the visited OrOr expression |
|
virtual |
Visits the binary '==' (EqEq-)expression and and adds the necessary blocks to the graph. Uses ir_relation::ir_relation_equal
eqEqExpr | the visited EqEq expression |
|
virtual |
Visits the binary '>' (GreaterThan-)expression and adds the necessary blocks to the graph. Uses ir_relation::ir_relation_greater.
greaterThanExpr | the visited GreaterThan expression |
|
virtual |
Visits the binary '>=' (GreaterThanEq-)expression and adds the necessary blocks to the graph. Uses ir_relation::ir_relation_greater_equal.
greaterThanEqExpr | the visited GreaterThanEq expression |
|
virtual |
Prints an error. There shouldn't be an Invalid expression in the AST.
invalidExpr | the visited Invalid expression |
|
virtual |
Visits the binary '<' (LessThan-)expression and adds the necessary blocks to the graph. Uses ir_relation::ir_relation_less.
lessThanExpr | the visited LessThan expression |
|
virtual |
Visits the binary '<=' (LessThanEq-)expression and adds the necessary blocks to the graph. Uses ir_relation::ir_relation_less_equal.
lessThanEqExpr | the visited LessThanEq expression |
|
virtual |
Visits the binary '!=' (NotEq-)expression and adds the necessary blocks to the graph. Uses ir_relation::ir_relation_unordered_less_greater.
notEqExpr | the visited NotEq expression |
|
virtual |
Visits a PostfixExpression and adds the necessary blocks to the graph.
postfixExpr | the visited PostfixExpression |