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