From: Andre B. <net...@us...> - 2004-08-16 20:53:56
|
Update of /cvsroot/cpptool/CppParser/examples/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31432/examples/parser Modified Files: symboldeclaration.cpp symboldeclaration.h Log Message: -- moved declaration enumerator to source of declarations -- added compare function for sibling declarations (not optimal) Index: symboldeclaration.h =================================================================== RCS file: /cvsroot/cpptool/CppParser/examples/parser/symboldeclaration.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** symboldeclaration.h 8 Jun 2004 20:23:17 -0000 1.1.1.1 --- symboldeclaration.h 16 Aug 2004 20:53:46 -0000 1.2 *************** *** 4,7 **** --- 4,8 ---- # include "location.h" # include <boost/shared_ptr.hpp> + # include <cpput/enumerator.h> # include <string> *************** *** 15,19 **** class SymbolReference; typedef boost::shared_ptr<SymbolDeclaration> SymbolDeclarationPtr; ! class Symbol --- 16,20 ---- class SymbolReference; typedef boost::shared_ptr<SymbolDeclaration> SymbolDeclarationPtr; ! typedef CppUT::Enumerator<SymbolDeclarationPtr> SymbolDeclarationPtrEnum; class Symbol *************** *** 58,61 **** --- 59,64 ---- bool isTypeDeclaration() const; + bool equals(const SymbolDeclaration& siblingDeclaration) const; + private: Symbol symbol_; Index: symboldeclaration.cpp =================================================================== RCS file: /cvsroot/cpptool/CppParser/examples/parser/symboldeclaration.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** symboldeclaration.cpp 8 Jun 2004 20:23:17 -0000 1.1.1.1 --- symboldeclaration.cpp 16 Aug 2004 20:53:46 -0000 1.2 *************** *** 49,52 **** --- 49,63 ---- } + bool + SymbolDeclaration::equals(const SymbolDeclaration& siblingDeclaration) const + { + if (symbol_.name() != siblingDeclaration.name()) + return false; + return + scope_ == siblingDeclaration.scope() || + // [TODO] not the best way to compare strings, better implement scope.equal() member !!! + ( scope_!=ScopePtr() && scope_->str() == siblingDeclaration.scope()->str() ); + } + // class SymbolReference |