Ignore:
Timestamp:
Jun 27, 2007, 2:41:17 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/MakePeHdr.cpp

    r193 r198  
    66#include <ClassImpl.h>
    77#include <Compiler.h>
     8#include <NamespaceSupporter.h>
    89
    910#include "../BasicCompiler_Common/common.h"
     
    125126    //////////////////
    126127    // データテーブル
    127     Compiler::GetNativeCode().GetDataTable().Init();
     128    compiler.GetNativeCode().GetDataTable().Init();
    128129    if(bDebugCompile){
    129         Compiler::GetNativeCode().GetDataTable().Add( (long)0x00000002 );
     130        compiler.GetNativeCode().GetDataTable().Add( (long)0x00000002 );
    130131    }
    131132
     
    151152
    152153    //関数ポインタ情報を初期化
    153     Smoothie::GetMeta().GetProcPointers().clear();
     154    compiler.GetMeta().GetProcPointers().clear();
    154155
    155156    // 名前空間情報を取得
    156     NamespaceScopesCollection::CollectNamespaces(
     157    NamespaceSupporter::CollectNamespaces(
    157158        Smoothie::Lexical::source.GetBuffer(),
    158         Smoothie::GetMeta().namespaceScopesCollection
     159        compiler.GetMeta().GetNamespaces()
    159160    );
    160161
     
    162163    //   GetSubInfo関数の中で参照されるオブジェクト名を事前に取得する。
    163164    //     ※オブジェクトの内容までは取得しない
    164     Smoothie::GetMeta().GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
     165    compiler.GetMeta().GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
    165166
    166167    //TypeDef情報を初期化
    167     Smoothie::GetMeta().typeDefs.Init();
     168    compiler.GetMeta().GetTypeDefs().Init();
    168169
    169170    //定数情報を取得
     
    175176
    176177    //クラス情報を取得(※注 - GetSubInfoの後に呼び出す)
    177     Smoothie::GetMeta().GetClasses().GetAllClassInfo();
    178 
    179     Smoothie::GetMeta().AutoWrite( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" );
     178    compiler.GetMeta().GetClasses().GetAllClassInfo();
     179
     180    compiler.GetMeta().AutoWrite( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" );
    180181
    181182    //コードと行番号の関係
     
    318319    if(!bDll){
    319320        // 名前空間が初期化されているかをチェック
    320         if( Smoothie::Temp::liveingNamespaceScopes.size() ){
     321        if( namespaceSupporter.GetLivingNamespaceScopes().size() ){
    321322            SetError();
    322323        }
     
    369370
    370371        //クラスに属する静的メンバを定義
    371         Smoothie::GetMeta().GetClasses().InitStaticMember();
     372        compiler.GetMeta().GetClasses().InitStaticMember();
    372373
    373374        //グローバル実行領域をコンパイル開始
     
    433434
    434435        // 名前空間が正しく閉じられているかをチェック
    435         if( Smoothie::Temp::liveingNamespaceScopes.size() ){
     436        if( namespaceSupporter.GetLivingNamespaceScopes().size() ){
    436437            SetError(63,NULL,-1);
    437438        }
     
    883884
    884885    //データセクションのファイル上のサイズ
    885     if(Compiler::GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT) FileSize_DataSection=Compiler::GetNativeCode().GetDataTable().GetSize()+(FILE_ALIGNMENT-Compiler::GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT);
    886     else FileSize_DataSection=Compiler::GetNativeCode().GetDataTable().GetSize();
     886    if(compiler.GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT) FileSize_DataSection=compiler.GetNativeCode().GetDataTable().GetSize()+(FILE_ALIGNMENT-compiler.GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT);
     887    else FileSize_DataSection=compiler.GetNativeCode().GetDataTable().GetSize();
    887888    if(FileSize_DataSection) bUse_DataSection=1;
    888889    else bUse_DataSection=0;
     
    10731074    ////////////////////////////////////////
    10741075    //仮想関数データテーブルスケジュール
    1075     Smoothie::GetMeta().GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
     1076    compiler.GetMeta().GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
    10761077
    10771078
     
    16091610    if(bUse_DataSection){
    16101611        //データ テーブル
    1611         WriteFile(hFile,Compiler::GetNativeCode().GetDataTable().GetPtr(),Compiler::GetNativeCode().GetDataTable().GetSize(),(DWORD *)&i2,NULL);
     1612        WriteFile(hFile,compiler.GetNativeCode().GetDataTable().GetPtr(),compiler.GetNativeCode().GetDataTable().GetSize(),(DWORD *)&i2,NULL);
    16121613        i+=i2;
    16131614    }
     
    17211722
    17221723    //クラスに関するメモリを解放
    1723     Smoothie::GetMeta().GetClasses().Clear();
     1724    compiler.GetMeta().GetClasses().Clear();
    17241725}
Note: See TracChangeset for help on using the changeset viewer.