|
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 | |
Public Types inherited from ast::stmt::Statement | |
| 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.
1.8.8