00001 #include <typeinfo> 00002 #include "identifier.h" 00003 using namespace std; 00004 00005 Ast& Identifier::operator = (const Ast& ast) { 00006 const Identifier& identifier = dynamic_cast<const Identifier&>(ast); 00007 00008 Ast::operator=(ast); 00009 this->name = identifier.name; 00010 00011 return *(this); 00012 } 00013 00014 bool Identifier::operator == (const Ast& ast) const { 00015 const Identifier& identifier = dynamic_cast<const Identifier&>(ast); 00016 00017 if (typeid(ast) != typeid(Identifier)) 00018 return false; 00019 00020 return (this->name == identifier.name) && Ast::operator==(ast); 00021 } 00022