Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

sequentialidentifierlist.cpp

Go to the documentation of this file.
00001 #include <typeinfo>
00002 #include "sequentialidentifierlist.h"
00003 using namespace std;
00004 
00005 Ast& SequentialIdentifierList::operator = (const Ast& ast) {
00006         const SequentialIdentifierList& sequentialIdentifierList = dynamic_cast<const SequentialIdentifierList&>(ast);
00007 
00008         IdentifierList::operator=(ast);
00009         this->identifierList = sequentialIdentifierList.identifierList ? dynamic_cast<IdentifierList*>(&(sequentialIdentifierList.identifierList->clone())) : 0;
00010         this->simpleIdentifierList = sequentialIdentifierList.simpleIdentifierList ? dynamic_cast<SimpleIdentifierList*>(&(sequentialIdentifierList.simpleIdentifierList->clone())) : 0;
00011 
00012         return *(this);
00013 }
00014 
00015 bool SequentialIdentifierList::operator == (const Ast& ast) const {
00016         bool result = false;
00017         const SequentialIdentifierList& sequentialIdentifierList = dynamic_cast<const SequentialIdentifierList&>(ast);
00018 
00019         if (typeid(ast) != typeid(SequentialIdentifierList))
00020                 return false;
00021 
00022         if (this->identifierList && this->simpleIdentifierList)
00023                 result = (*(this->identifierList) == *(sequentialIdentifierList.identifierList) &&
00024                                   *(this->simpleIdentifierList) == *(sequentialIdentifierList.simpleIdentifierList));
00025 
00026         return result && IdentifierList::operator==(ast);
00027 }
00028 

Generated on Mon Dec 1 17:36:37 2003 for Protomake by doxygen1.3