Ignore:
Timestamp:
Jul 13, 2008, 2:23:09 AM (16 years ago)
Author:
dai_9181
Message:

・WithInfo周りをリファクタリング。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/compiler_x86/MakePeHdr.cpp

    r645 r684  
    370370    //compiler.codeGenerator.lexicalScopes.Init( compiler.codeGenerator.GetNativeCodeSize() );
    371371
     372    // 名前空間が初期化されているかをチェック
     373    if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() )
     374    {
     375        compiler.errorMessenger.OutputFatalError();
     376    }
     377
    372378
    373379    /////////////////////////////////////////////////////////////////
     
    394400    compiler.StartGlobalAreaCompile();
    395401
    396     if( !compiler.IsDll() ){
    397         // 名前空間が初期化されているかをチェック
    398         if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ){
    399             compiler.errorMessenger.OutputFatalError();
    400         }
    401 
     402    if( !compiler.IsDll() )
     403    {
    402404        //ラベル管理オブジェクトを初期化
    403405        compiler.codeGenerator.gotoLabels.clear();
     
    406408        compiler.codeGenerator.gotoLabelSchedules.clear();
    407409
    408         //With情報のメモリを確保
    409         extern WITHINFO WithInfo;
    410         WithInfo.ppName=(char **)HeapAlloc(hHeap,0,1);
    411         WithInfo.pWithCp=(int *)HeapAlloc(hHeap,0,1);
    412         WithInfo.num=0;
     410        //With情報を初期化
     411        extern WithInfos withInfos;
     412        withInfos.clear();
    413413
    414414        //Continueアドレスを初期化
     
    419419
    420420        trace_for_sourcecodestep( "★★★ グローバル領域のコンパイルを開始" );
    421 
    422 
    423         //未完成
    424         //breakpoint;
    425 
    426421
    427422        if( compiler.IsCore() )
     
    472467        extern int GlobalOpBufferSize;
    473468        GlobalOpBufferSize = compiler.linker.GetNativeCode().GetSize();
    474 
    475         //With情報のメモリを解放
    476         for(i=0;i<WithInfo.num;i++){
    477             compiler.errorMessenger.Output(22,"With",WithInfo.pWithCp[i]);
    478             HeapDefaultFree(WithInfo.ppName[i]);
    479         }
    480         HeapDefaultFree(WithInfo.ppName);
    481         HeapDefaultFree(WithInfo.pWithCp);
    482469
    483470        // 名前空間が正しく閉じられているかをチェック
Note: See TracChangeset for help on using the changeset viewer.