Changeset 670 in dev for trunk/ab5.0/abdev/ab_common/src


Ignore:
Timestamp:
Jun 28, 2008, 9:58:04 PM (16 years ago)
Author:
dai_9181
Message:

Importsが正常に解釈されない不具合を修正

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/ab_common/src/Lexical/NamespaceSupporter.cpp

    r669 r670  
    2020
    2121    return ImportsNamespace( namespaceScopes );
     22}
     23
     24bool 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;
    2254}
    2355
Note: See TracChangeset for help on using the changeset viewer.