#include <sequentialguardedstatement.h>
Inheritance diagram for SequentialGuardedStatement:
Public Member Functions | |
SequentialGuardedStatement (SrcPosition *position, GuardedStatement *guardedStatement, SimpleGuardedStatement *simpleGuardedStatement) | |
SequentialGuardedStatement (const SequentialGuardedStatement &sequentialGuardedStatement) | |
virtual | ~SequentialGuardedStatement () |
GuardedStatement * | getGuardedStatement () |
SimpleGuardedStatement * | getSimpleGuardedStatement () |
virtual Ast & | operator= (const Ast &ast) |
virtual bool | operator== (const Ast &ast) const |
virtual VisitorReturn * | visit (Visitor &visitor) |
virtual Ast & | clone () const |
Private Attributes | |
GuardedStatement * | guardedStatement |
SimpleGuardedStatement * | simpleGuardedStatement |
|
Definition at line 14 of file sequentialguardedstatement.h. Referenced by clone().
00015 : GuardedStatement(position), guardedStatement(guardedStatement), simpleGuardedStatement(simpleGuardedStatement) {} |
|
Definition at line 17 of file sequentialguardedstatement.h. References Ast::position.
00017 : GuardedStatement(sequentialGuardedStatement.position) { 00018 *(this) = sequentialGuardedStatement; 00019 } |
|
Definition at line 21 of file sequentialguardedstatement.h.
00021 { 00022 delete this->guardedStatement; 00023 delete this->simpleGuardedStatement; 00024 } |
|
Implements Ast. Definition at line 41 of file sequentialguardedstatement.h. References SimpleGuardedStatement::clone(), and SequentialGuardedStatement().
00041 { 00042 return *(new SequentialGuardedStatement(new SrcPosition(*(this->position)), 00043 this->guardedStatement ? dynamic_cast<GuardedStatement*>(&(this->guardedStatement->clone())) : 0, 00044 this->simpleGuardedStatement ? dynamic_cast<SimpleGuardedStatement*>(&(this->simpleGuardedStatement->clone())) : 0)); 00045 } |
|
Definition at line 26 of file sequentialguardedstatement.h. Referenced by TypeCheckerVisitor::visitSequentialGuardedStatement().
00026 { 00027 return this->guardedStatement; 00028 } |
|
Definition at line 30 of file sequentialguardedstatement.h. Referenced by TypeCheckerVisitor::visitSequentialGuardedStatement().
00030 { 00031 return this->simpleGuardedStatement; 00032 } |
|
Reimplemented from GuardedStatement. Definition at line 5 of file sequentialguardedstatement.cpp. References SimpleGuardedStatement::clone(), Ast::clone(), guardedStatement, GuardedStatement::operator=(), and simpleGuardedStatement.
00005 { 00006 const SequentialGuardedStatement& sequentialGuardedStatement = dynamic_cast<const SequentialGuardedStatement&>(ast); 00007 00008 GuardedStatement::operator=(ast); 00009 this->guardedStatement = sequentialGuardedStatement.guardedStatement ? dynamic_cast<GuardedStatement*>(&(sequentialGuardedStatement.guardedStatement->clone())) : 0; 00010 this->simpleGuardedStatement = sequentialGuardedStatement.simpleGuardedStatement ? dynamic_cast<SimpleGuardedStatement*>(&(sequentialGuardedStatement.simpleGuardedStatement->clone())) : 0; 00011 00012 return *(this); 00013 } |
|
Reimplemented from GuardedStatement. Definition at line 15 of file sequentialguardedstatement.cpp. References guardedStatement, GuardedStatement::operator==(), and simpleGuardedStatement.
00015 { 00016 bool result = false; 00017 const SequentialGuardedStatement& sequentialGuardedStatement = dynamic_cast<const SequentialGuardedStatement&>(ast); 00018 00019 if (typeid(ast) != typeid(SequentialGuardedStatement)) 00020 return false; 00021 00022 if (this->guardedStatement && this->simpleGuardedStatement) 00023 result = (*(this->guardedStatement) == *(sequentialGuardedStatement.guardedStatement) && 00024 *(this->simpleGuardedStatement) == *(sequentialGuardedStatement.simpleGuardedStatement)); 00025 00026 return result && GuardedStatement::operator==(ast); 00027 } |
|
Implements Ast. Definition at line 37 of file sequentialguardedstatement.h. References Visitor::visitSequentialGuardedStatement().
00037 { 00038 return visitor.visitSequentialGuardedStatement(this); 00039 } |
|
Definition at line 9 of file sequentialguardedstatement.h. Referenced by operator=(), and operator==(). |
|
Definition at line 10 of file sequentialguardedstatement.h. Referenced by operator=(), and operator==(). |