Changeset 507 in dev for trunk/ab5.0/abdev/ab_common


Ignore:
Timestamp:
Apr 28, 2008, 8:14:31 PM (16 years ago)
Author:
dai_9181
Message:

NamespaceSupporterクラスをab_commonプロジェクトに移動した。

Location:
trunk/ab5.0/abdev/ab_common
Files:
3 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/ab_common/ab_common.vcproj

    r505 r507  
    320320                    >
    321321                </File>
     322                <File
     323                    RelativePath=".\include\NamespaceSupporter.h"
     324                    >
     325                </File>
    322326            </Filter>
    323327        </Filter>
     
    340344                <File
    341345                    RelativePath=".\src\Namespace.cpp"
     346                    >
     347                </File>
     348                <File
     349                    RelativePath=".\src\NamespaceSupporter.cpp"
    342350                    >
    343351                </File>
  • trunk/ab5.0/abdev/ab_common/include/Namespace.h

    r505 r507  
    11#pragma once
    2 
    3 #include <vector>
    4 #include <string>
    5 #include <boost/foreach.hpp>
    62
    73
  • trunk/ab5.0/abdev/ab_common/include/NamespaceSupporter.h

    r506 r507  
    11#pragma once
     2
     3namespace ActiveBasic{ namespace Common{ namespace Lexical{
     4
    25
    36class NamespaceSupporter
    47{
     8    const NamespaceScopesCollection *allNamespaceScopesCollection;
     9
    510    // Importsされた名前空間
    611    NamespaceScopesCollection importedNamespaces;
     
    1015
    1116public:
     17    NamespaceSupporter()
     18        : allNamespaceScopesCollection( NULL )
     19    {
     20    }
     21
     22    void RegistAllNamespaceScopesCollection( const NamespaceScopesCollection *allNamespaceScopesCollection )
     23    {
     24        this->allNamespaceScopesCollection = allNamespaceScopesCollection;
     25    }
     26
    1227    NamespaceScopesCollection &GetImportedNamespaces()
    1328    {
     
    1833        this->importedNamespaces = namespaces;
    1934    }
     35    bool ImportsNamespace( const NamespaceScopes &namespaceScopes );
    2036    bool ImportsNamespace( const std::string &namespaceStr );
    2137
     
    4056    // entryName =   "ActiveBasic"
    4157    // この場合、living は entryName を包括している。
    42     bool IsCoverd( const NamespaceScopes &namespaceScopes, const string &entryName ) const
     58    bool IsCoverd( const NamespaceScopes &namespaceScopes, const std::string &entryName ) const
    4359    {
    44         if( namespaceScopes.IsEqual( entryName ) ){
     60        if( namespaceScopes.IsEqual( entryName ) )
     61        {
    4562            return true;
    4663        }
    4764
    48         string thisStr = namespaceScopes.ToString();
     65        std::string thisStr = namespaceScopes.ToString();
    4966
    5067        NamespaceScopes tempLivingNamespaceScopes = livingNamespaceScopes;
    5168
    52         while( tempLivingNamespaceScopes.size() ){
    53             string tempStr = tempLivingNamespaceScopes.ToString() + "." + entryName;
    54             if( thisStr == tempStr ){
     69        while( tempLivingNamespaceScopes.size() )
     70        {
     71            std::string tempStr = tempLivingNamespaceScopes.ToString() + "." + entryName;
     72            if( thisStr == tempStr )
     73            {
    5574                return true;
    5675            }
     
    98117    }
    99118};
     119
     120
     121}}}
  • trunk/ab5.0/abdev/ab_common/src/NamespaceSupporter.cpp

    r506 r507  
    11#include "stdafx.h"
    22
    3 #include <Compiler.h>
     3using namespace ActiveBasic::Common::Lexical;
    44
    5 bool NamespaceSupporter::ImportsNamespace( const std::string &namespaceStr )
     5bool NamespaceSupporter::ImportsNamespace( const NamespaceScopes &namespaceScopes )
    66{
    7     NamespaceScopes namespaceScopes( namespaceStr );
    8     if( !compiler.GetObjectModule().meta.GetNamespaces().IsExist( namespaceScopes ) ){
     7    if( !allNamespaceScopesCollection->IsExist( namespaceScopes ) ){
    98        return false;
    109    }
     
    1413    return true;
    1514}
     15
     16bool NamespaceSupporter::ImportsNamespace( const std::string &namespaceStr )
     17{
     18    NamespaceScopes namespaceScopes( namespaceStr );
     19
     20    return ImportsNamespace( namespaceScopes );
     21}
  • trunk/ab5.0/abdev/ab_common/stdafx.h

    r505 r507  
    3434
    3535#include <Namespace.h>
     36#include <NamespaceSupporter.h>
Note: See TracChangeset for help on using the changeset viewer.