Changeset 668 in dev


Ignore:
Timestamp:
Jun 28, 2008, 4:46:59 PM (16 years ago)
Author:
dai_9181
Message:

NamespaceSupporter::ClearImportedNamespacesを追加。
NamespaceSupporter::GetImportedNamespacesをconstにした。

Location:
trunk/ab5.0/abdev
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/Compile.cpp

    r641 r668  
    357357                break;
    358358            case ESC_CLEARNAMESPACEIMPORTED:
    359                 compiler.GetNamespaceSupporter().GetImportedNamespaces().clear();
     359                // Imports情報のクリア
     360                compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    360361                break;
    361362
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp

    r637 r668  
    2020    namespaceScopes.clear();
    2121
    22     // Importsされた名前空間の管理
    23     NamespaceScopesCollection &importedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    24     importedNamespaces.clear();
     22    // Imports情報のクリア
     23    compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    2524
    2625    for(i=0;;i++){
     
    6564            continue;
    6665        }
    67         else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED ){
    68             importedNamespaces.clear();
     66        else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED )
     67        {
     68            // Imports情報のクリア
     69            compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    6970            continue;
    7071        }
     
    117118
    118119            //クラスを追加
    119             CClass *pClass = new CClass( Symbol( namespaceScopes, temporary ), importedNamespaces );
     120            CClass *pClass = new CClass( Symbol( namespaceScopes, temporary ), compiler.GetNamespaceSupporter().GetImportedNamespaces() );
    120121            if( classes.IsExist( pClass ) )
    121122            {
     
    695696    // Importsされた名前空間の管理
    696697    NamespaceScopesCollection backupImportedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    697     compiler.GetNamespaceSupporter().GetImportedNamespaces().clear();
     698    compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    698699
    699700    // 呼び出し元でコンパイル中のクラスポインタをバックアップ
     
    746747            continue;
    747748        }
    748         else if( basbuf[i] == 1 && basbuf[i+1] == ESC_CLEARNAMESPACEIMPORTED ){
    749             compiler.GetNamespaceSupporter().GetImportedNamespaces().clear();
     749        else if( basbuf[i] == 1 && basbuf[i+1] == ESC_CLEARNAMESPACEIMPORTED )
     750        {
     751            // Imports情報のクリア
     752            compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    750753            continue;
    751754        }
     
    13251328
    13261329    // インポートされた名前空間を元に戻す
    1327     compiler.GetNamespaceSupporter().GetImportedNamespaces() = backupImportedNamespaces;
     1330    compiler.GetNamespaceSupporter().SetImportedNamespaces( backupImportedNamespaces );
    13281331}
    13291332
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Delegate.cpp

    r637 r668  
    1212    namespaceScopes.clear();
    1313
    14     // Importsされた名前空間の管理
    15     NamespaceScopesCollection &importedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    16     importedNamespaces.clear();
     14    // Imports情報のクリア
     15    compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    1716
    1817    int length = lstrlen( source );
     
    5756            continue;
    5857        }
    59         else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED ){
    60             importedNamespaces.clear();
     58        else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED )
     59        {
     60            // Imports情報のクリア
     61            compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    6162            continue;
    6263        }
     
    115116            }
    116117
    117             delegates.Put( new Delegate( Symbol( namespaceScopes, name ), importedNamespaces, procKind, paramStr, returnTypeName, nowLine ) );
     118            delegates.Put( new Delegate( Symbol( namespaceScopes, name ), compiler.GetNamespaceSupporter().GetImportedNamespaces(), procKind, paramStr, returnTypeName, nowLine ) );
    118119        }
    119120    }
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Procedure.cpp

    r641 r668  
    778778    namespaceScopes.clear();
    779779
    780     // Importsされた名前空間の管理
    781     NamespaceScopesCollection &importedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    782     importedNamespaces.clear();
     780    // Imports情報のクリア
     781    compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    783782
    784783    i=-1;
     
    840839            continue;
    841840        }
    842         else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED ){
    843             importedNamespaces.clear();
     841        else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED )
     842        {
     843            // Imports情報のクリア
     844            compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    844845            continue;
    845846        }
     
    871872            }
    872873
    873             UserProc *pUserProc = ParseUserProc( namespaceScopes, importedNamespaces, temporary, i, false, NULL, false );
     874            UserProc *pUserProc = ParseUserProc( namespaceScopes, compiler.GetNamespaceSupporter().GetImportedNamespaces(), temporary, i, false, NULL, false );
    874875
    875876            // 関数を追加
     
    913914    ////////////
    914915    namespaceScopes.clear();
    915     importedNamespaces.clear();
     916    compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    916917
    917918    compiler.globalAreaProcName = "_GlobalArea_" + compiler.GetModuleName();
    918919    sprintf(temporary,"%c%c%s()",1,ESC_SUB,compiler.globalAreaProcName.c_str());
    919     UserProc *pUserProc = ParseUserProc( namespaceScopes, importedNamespaces, temporary, 0, false, NULL, false );
     920    UserProc *pUserProc = ParseUserProc( namespaceScopes, compiler.GetNamespaceSupporter().GetImportedNamespaces(), temporary, 0, false, NULL, false );
    920921
    921922    // 関数を追加
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_TypeDef.cpp

    r637 r668  
    8787    namespaceScopes.clear();
    8888
    89     // Importsされた名前空間の管理
    90     NamespaceScopesCollection &importedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    91     importedNamespaces.clear();
     89    // Imports情報のクリア
     90    compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    9291
    9392    int i=-1, i2;
     
    135134            continue;
    136135        }
    137         else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED ){
    138             importedNamespaces.clear();
     136        else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED )
     137        {
     138            // Imports情報のクリア
     139            compiler.GetNamespaceSupporter().ClearImportedNamespaces();
    139140            continue;
    140141        }
  • trunk/ab5.0/abdev/ab_common/include/Lexical/NamespaceSupporter.h

    r516 r668  
    2525    }
    2626
    27     NamespaceScopesCollection &GetImportedNamespaces()
     27    const NamespaceScopesCollection &GetImportedNamespaces()
    2828    {
    2929        return importedNamespaces;
     
    3232    {
    3333        this->importedNamespaces = namespaces;
     34    }
     35    void ClearImportedNamespaces()
     36    {
     37        this->importedNamespaces.clear();
    3438    }
    3539    bool ImportsNamespace( const NamespaceScopes &namespaceScopes );
Note: See TracChangeset for help on using the changeset viewer.