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