- Timestamp:
- Apr 28, 2008, 7:04:16 PM (17 years ago)
- Location:
- trunk/ab5.0/abdev/BasicCompiler_Common
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h
r472 r504 58 58 , isCore( false ) 59 59 { 60 Symbol::RegistNamespaceSupporter( &namespaceSupporter ); 60 61 } 61 62 ~Compiler() -
trunk/ab5.0/abdev/BasicCompiler_Common/include/NamespaceSupporter.h
r355 r504 69 69 70 70 // 指定された名前空間が同一エリアと見なされるかどうかをチェック 71 bool IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ){ 72 if( entryNamespaceScopes.size() ){ 73 if( IsCoverd( baseNamespaceScopes, entryNamespaceScopes ) ){ 71 bool IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const 72 { 73 if( entryNamespaceScopes.size() ) 74 { 75 if( IsCoverd( baseNamespaceScopes, entryNamespaceScopes ) ) 76 { 74 77 // 包括しているときは同一と見なす 75 78 return true; … … 77 80 } 78 81 else{ 79 if( baseNamespaceScopes.size() ){ 82 if( baseNamespaceScopes.size() ) 83 { 80 84 // 名前空間の判断が必要なとき 81 85 if( this->importedNamespaces.IsImported( baseNamespaceScopes ) 82 || IsLiving( baseNamespaceScopes ) ){ 86 || IsLiving( baseNamespaceScopes ) ) 87 { 83 88 // Using指定があるとき 84 89 // または -
trunk/ab5.0/abdev/BasicCompiler_Common/include/Symbol.h
r402 r504 11 11 class Symbol 12 12 { 13 static const NamespaceSupporter *namespaceSupporter; 14 13 15 NamespaceScopes namespaceScopes; 14 16 string name; … … 59 61 } 60 62 63 static void RegistNamespaceSupporter( const NamespaceSupporter *namespaceSupporter ) 64 { 65 Symbol::namespaceSupporter = namespaceSupporter; 66 } 67 61 68 virtual const NamespaceScopes &GetNamespaceScopes() const 62 69 { -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Symbol.cpp
r461 r504 3 3 #include <Compiler.h> 4 4 #include <Symbol.h> 5 6 const NamespaceSupporter *Symbol::namespaceSupporter = NULL; 5 7 6 8 Symbol::Symbol( const char *fullName ) … … 41 43 } 42 44 43 return compiler.GetNamespaceSupporter().IsSameAreaNamespace( GetNamespaceScopes(), namespaceScopes ); 45 _ASSERTE( namespaceSupporter ); 46 return namespaceSupporter->IsSameAreaNamespace( GetNamespaceScopes(), namespaceScopes ); 44 47 } 45 48 bool Symbol::IsEqualSymbol( const Symbol &symbol ) const
Note:
See TracChangeset
for help on using the changeset viewer.