#include <guardreceive.h>
Inheritance diagram for GuardReceive:
Public Member Functions | |
GuardReceive (SrcPosition *position, ReceiveStatement *receiveStatement) | |
GuardReceive (const GuardReceive &guardReceive) | |
virtual | ~GuardReceive () |
ReceiveStatement * | getReceiveStatement () |
virtual Ast & | operator= (const Ast &ast) |
virtual bool | operator== (const Ast &ast) const |
virtual VisitorReturn * | visit (Visitor &visitor) |
virtual Ast & | clone () const |
Private Attributes | |
ReceiveStatement * | receiveStatement |
|
Definition at line 12 of file guardreceive.h. Referenced by clone().
00013 : Guard(position), receiveStatement(receiveStatement) {} |
|
Definition at line 15 of file guardreceive.h. References Ast::position.
|
|
Definition at line 19 of file guardreceive.h.
00019 { 00020 delete this->receiveStatement; 00021 } |
|
Implements Ast. Definition at line 34 of file guardreceive.h. References GuardReceive().
00034 { 00035 return *(new GuardReceive(new SrcPosition(*(this->position)), 00036 this->receiveStatement ? dynamic_cast<ReceiveStatement*>(&(this->receiveStatement->clone())) : 0)); 00037 } |
|
Definition at line 23 of file guardreceive.h. Referenced by TypeCheckerVisitor::visitGuardReceive().
00023 { 00024 return this->receiveStatement; 00025 } |
|
Reimplemented from Guard. Definition at line 5 of file guardreceive.cpp. References ReceiveStatement::clone(), Guard::operator=(), and receiveStatement.
00005 { 00006 const GuardReceive& guardReceive = dynamic_cast<const GuardReceive&>(ast); 00007 00008 Guard::operator=(ast); 00009 this->receiveStatement = guardReceive.receiveStatement ? dynamic_cast<ReceiveStatement*>(&(guardReceive.receiveStatement->clone())) : 0; 00010 00011 return *(this); 00012 } |
|
Reimplemented from Guard. Definition at line 14 of file guardreceive.cpp. References Guard::operator==(), and receiveStatement.
00014 { 00015 bool result = false; 00016 const GuardReceive& guardReceive = dynamic_cast<const GuardReceive&>(ast); 00017 00018 if (typeid(ast) != typeid(GuardReceive)) 00019 return false; 00020 00021 if (this->receiveStatement) 00022 result = (*(this->receiveStatement) == *(guardReceive.receiveStatement)); 00023 00024 return result && Guard::operator==(ast); 00025 } |
|
Implements Ast. Definition at line 30 of file guardreceive.h. References Visitor::visitGuardReceive().
00030 { 00031 return visitor.visitGuardReceive(this); 00032 } |
|
Definition at line 9 of file guardreceive.h. Referenced by operator=(), and operator==(). |