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
|