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