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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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
Note: See TracChangeset for help on using the changeset viewer.