mjplusplus
v0.4.1
|
#include <IfStatement.hpp>
Public Member Functions | |
IfStatement (shptr< Expression > condition, shptr< Statement > thenStatement) | |
IfStatement (shptr< Expression > condition, shptr< Statement > thenStatement, shptr< Statement > elseStatement) | |
virtual void | toString (std::ostream &out, unsigned int indent, bool special=false) const |
virtual Statement::Type | getType () const |
virtual bool | analyze (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable) const |
analyze a statement for semantic correctness, and recursivly analyze its children More... | |
virtual unsigned int | countVariableDeclarations () const |
virtual int | setVariablePositions (int) const |
virtual void | accept (ASTVisitor &visitor) const |
virtual shptr< Expression > | getCondition () const |
virtual shptr< Statement > | getThenStatement () const |
virtual shptr< Statement > | getElseStatement () const |
Additional Inherited Members | |
![]() | |
enum | Type { TYPE_SINGLE, TYPE_BLOCK, TYPE_IF } |
ast::stmt::IfStatement::IfStatement | ( | shptr< Expression > | condition, |
shptr< Statement > | thenStatement | ||
) |
ast::stmt::IfStatement::IfStatement | ( | shptr< Expression > | condition, |
shptr< Statement > | thenStatement, | ||
shptr< Statement > | elseStatement | ||
) |
|
virtual |
Reimplemented from ast::stmt::Statement.
|
virtual |
analyze a statement for semantic correctness, and recursivly analyze its children
Implements ast::stmt::Statement.
|
virtual |
Reimplemented from ast::stmt::Statement.
|
virtual |
|
virtual |
Reimplemented from ast::stmt::Statement.
|
virtual |
Reimplemented from ast::stmt::Statement.
|
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.