Changeset 670 in dev
- Timestamp:
- Jun 28, 2008, 9:58:04 PM (16 years ago)
- Location:
- trunk/ab5.0/abdev/ab_common
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/include/Lexical/NamespaceSupporter.h
r669 r670 25 25 } 26 26 27 const NamespaceScopesCollection &GetImportedNamespaces() 27 const NamespaceScopesCollection &GetImportedNamespaces() const 28 28 { 29 29 return importedNamespaces; … … 60 60 // entryName = "ActiveBasic" 61 61 // この場合、living は entryName を包括している。 62 bool IsCoverd( const NamespaceScopes &namespaceScopes, const std::string &entryName ) const 63 { 64 if( namespaceScopes.IsEqual( entryName ) ) 65 { 66 return true; 67 } 68 69 std::string thisStr = namespaceScopes.ToString(); 70 71 NamespaceScopes tempLivingNamespaceScopes = livingNamespaceScopes; 72 73 while( tempLivingNamespaceScopes.size() ) 74 { 75 std::string tempStr = tempLivingNamespaceScopes.ToString() + "." + entryName; 76 if( thisStr == tempStr ) 77 { 78 return true; 79 } 80 81 tempLivingNamespaceScopes.pop_back(); 82 } 83 return false; 84 } 85 bool IsCoverd( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const 86 { 87 return IsCoverd( baseNamespaceScopes, entryNamespaceScopes.ToString() ); 88 } 62 bool IsCoverd( const NamespaceScopes &base, const NamespaceScopes &entry ) const; 89 63 90 64 -
trunk/ab5.0/abdev/ab_common/src/Lexical/NamespaceSupporter.cpp
r669 r670 20 20 21 21 return ImportsNamespace( namespaceScopes ); 22 } 23 24 bool NamespaceSupporter::IsCoverd( const NamespaceScopes &base, const NamespaceScopes &entry ) const 25 { 26 // まずはそのままでマッチングを試みる 27 if( base.IsEqual( entry ) ) 28 { 29 return true; 30 } 31 32 // 現在の名前空間とのマッチングを試みる 33 NamespaceScopes tempCurrent = this->livingNamespaceScopes; 34 while( !tempCurrent.empty() ) 35 { 36 if( base.IsEqual( tempCurrent + entry ) ) 37 { 38 return true; 39 } 40 41 tempCurrent.pop_back(); 42 } 43 44 // Importsされている名前空間とのマッチングを試みる 45 BOOST_FOREACH( const NamespaceScopes &importedNamespaceScopes, GetImportedNamespaces() ) 46 { 47 if( base.IsEqual( importedNamespaceScopes + entry ) ) 48 { 49 return true; 50 } 51 } 52 53 return false; 22 54 } 23 55
Note:
See TracChangeset
for help on using the changeset viewer.