Ignore:
Timestamp:
Jun 26, 2007, 5:04:29 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/jenga/include/smoothie/Namespace.h

    r170 r192  
    7070    }
    7171
    72     bool IsImported() const;
    73 
    7472    bool IsLiving() const;
    7573
     
    8280    bool IsCoverd( const string &name ) const;
    8381    bool IsCoverd( const NamespaceScopes &namespaceScopes ) const;
    84 
    85     // 指定された名前空間が同一エリアと見なされるかどうかをチェック
    86     static bool IsSameArea( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ){
    87         if( entryNamespaceScopes.size() ){
    88             if( baseNamespaceScopes.IsCoverd( entryNamespaceScopes ) ){
    89                 // 包括しているときは同一と見なす
    90                 return true;
    91             }
    92         }
    93         else{
    94             if( baseNamespaceScopes.size() ){
    95                 // 名前空間の判断が必要なとき
    96                 if( baseNamespaceScopes.IsImported()
    97                     || baseNamespaceScopes.IsLiving() ){
    98                     // Using指定があるとき
    99                     // または
    100                     // 指定された名前空間が現在の名前空間スコープと同一のとき
    101                     return true;
    102                 }
    103             }
    104             else{
    105                 return true;
    106             }
    107         }
    108 
    109         return false;
    110     }
    11182};
    11283
     
    12899        return IsExist( NamespaceScopes( namespaceStr ) );
    129100    }
     101
     102    bool IsImported( const NamespaceScopes &namespaceScopes ) const
     103    {
     104        const NamespaceScopesCollection &namespaceScopesCollection = *this;
     105        BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection )
     106        {
     107            if( namespaceScopes.IsEqual( tempNamespaceScopes ) )
     108            {
     109                return true;
     110            }
     111        }
     112        return false;
     113    }
     114
    130115    void SplitNamespace( const char *fullName, char *namespaceStr, char *simpleName ) const;
    131 
    132     bool Imports( const string &namespaceStr );
    133116
    134117    static bool CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection );
Note: See TracChangeset for help on using the changeset viewer.