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