Changeset 265 in dev for trunk/abdev/BasicCompiler32


Ignore:
Timestamp:
Aug 6, 2007, 11:44:42 PM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler32
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/Compile_Calc.cpp

    r256 r265  
    461461            }
    462462            else{
    463                 if( compiler.objectModule.meta.GetGlobalConsts().IsExist(variable)
    464                     || compiler.objectModule.meta.GetGlobalConstMacros().IsExist(variable) )
     463                if( compiler.GetObjectModule().meta.GetGlobalConsts().IsExist(variable)
     464                    || compiler.GetObjectModule().meta.GetGlobalConstMacros().IsExist(variable) )
    465465                {
    466466                    //定数リストに該当したとき
     
    606606
    607607
    608     if( varType.IsObject() && compiler.objectModule.meta.GetBlittableTypes().IsExist( calcType ) ){
     608    if( varType.IsObject() && compiler.GetObjectModule().meta.GetBlittableTypes().IsExist( calcType ) ){
    609609        // Blittable型をオブジェクトとして扱う
    610610        vector<const UserProc *> userProcs;
    611         compiler.objectModule.meta.GetBlittableTypes().GetClass( calcType ).GetStaticMethods().Enum( "_Create", userProcs );
     611        compiler.GetObjectModule().meta.GetBlittableTypes().GetClass( calcType ).GetStaticMethods().Enum( "_Create", userProcs );
    612612        if( userProcs.size() != 1 ){
    613613            SetError();
  • trunk/abdev/BasicCompiler32/Compile_CallProc.cpp

    r256 r265  
    117117                pobj_c = &varType.GetClass();
    118118                if( NATURAL_TYPE( varType.GetBasicType() ) != DEF_OBJECT ){
    119                     pobj_c=compiler.objectModule.meta.GetClasses().Find(ObjectName);
     119                    pobj_c=compiler.GetObjectModule().meta.GetClasses().Find(ObjectName);
    120120                    if( pobj_c ){
    121121                        isStatic = true;
  • trunk/abdev/BasicCompiler32/Compile_Func.cpp

    r256 r265  
    185185        tempParm=temp2;
    186186
    187         type.SetType( DEF_OBJECT, compiler.objectModule.meta.GetClasses().GetStringClassPtr() );
     187        type.SetType( DEF_OBJECT, compiler.GetObjectModule().meta.GetClasses().GetStringClassPtr() );
    188188    }
    189189
     
    235235
    236236        //オーバーロードを解決
    237         pUserProc=OverloadSolution(name,subs,compiler.objectModule.meta.GetProcPointers()[ProcPtr_BaseIndex]->Params(), Type() );
     237        pUserProc=OverloadSolution(name,subs,compiler.GetObjectModule().meta.GetProcPointers()[ProcPtr_BaseIndex]->Params(), Type() );
    238238
    239239        if(!pUserProc){
  • trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp

    r263 r265  
    5858
    5959        //クラスに属する静的メンバを定義
    60         compiler.objectModule.meta.GetClasses().InitStaticMember();
     60        compiler.GetObjectModule().meta.GetClasses().InitStaticMember();
    6161
    6262        GetGlobalDataForDll();
     
    7171        //静的ローカルオブジェクトのコンストラクタ呼び出し
    7272
    73         BOOST_FOREACH( Variable *pVar, compiler.objectModule.meta.GetGlobalVars() ){
     73        BOOST_FOREACH( Variable *pVar, compiler.GetObjectModule().meta.GetGlobalVars() ){
    7474            if(memicmp(pVar->GetName().c_str(),"Static%",7)==0){
    7575                //コンストラクタ呼び出し
     
    219219        && userProc.GetParentClass().GetName() == "_System_TypeBase" ){
    220220
    221             compiler.objectModule.meta.GetClasses().Compile_System_InitializeUserTypes();
     221            compiler.GetObjectModule().meta.GetClasses().Compile_System_InitializeUserTypes();
    222222    }
    223223    else if( userProc.GetName() == "RegisterGlobalRoots"
     
    270270
    271271    //コンパイルスタートをクラス管理クラスに追加
    272     compiler.objectModule.meta.GetClasses().StartCompile( pUserProc );
     272    compiler.GetObjectModule().meta.GetClasses().StartCompile( pUserProc );
    273273
    274274    //コンパイル中の関数
     
    781781
    782782repeat:
    783     compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
    784     while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
     783    compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset();
     784    while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
    785785    {
    786         UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
     786        UserProc *pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
    787787        CompileBufferInProcedure( *pUserProc );
    788788    }
     
    800800        //プロシージャコンパイルによって、プロシージャコンパイルが必要になる場合
    801801
    802         compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
    803         while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
     802        compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset();
     803        while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
    804804        {
    805             UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
     805            UserProc *pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
    806806            CompileBufferInProcedure( *pUserProc );
    807807        }
  • trunk/abdev/BasicCompiler32/Compile_Var.cpp

    r256 r265  
    362362    // 名前空間を分離
    363363    char namespaceStr[VN_SIZE]="", simpleName[VN_SIZE];
    364     compiler.objectModule.meta.GetNamespaces().SplitNamespace( variable, namespaceStr, simpleName );
     364    compiler.GetObjectModule().meta.GetNamespaces().SplitNamespace( variable, namespaceStr, simpleName );
    365365
    366366    // 先頭オブジェクトまたはクラス名と入れ子メンバに分割
     
    456456        //Const修飾子のメソッド内でメンバ書き込みアクセスが発生したとき
    457457        //(コンストラクタ、デストラクタ内を除く)
    458         const CMethod *pMethod = compiler.objectModule.meta.GetClasses().GetNowCompilingMethodInfo();
     458        const CMethod *pMethod = compiler.GetObjectModule().meta.GetClasses().GetNowCompilingMethodInfo();
    459459        if( isWriteAccess &&
    460460            pMethod->IsConst() &&
     
    496496            GetNowStaticVarFullName(VarName,temporary);
    497497
    498             pVar = compiler.objectModule.meta.GetGlobalVars().Find( Symbol( temporary ) );
     498            pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( Symbol( temporary ) );
    499499            if( pVar ){
    500500                goto GlobalOk;
     
    519519            }
    520520
    521             int typeDefIndex = compiler.objectModule.meta.GetTypeDefs().GetIndex( VarName );
     521            int typeDefIndex = compiler.GetObjectModule().meta.GetTypeDefs().GetIndex( VarName );
    522522            if( typeDefIndex != -1 ){
    523523                // TypeDef後の型名だったとき
    524                 lstrcpy( VarName, compiler.objectModule.meta.GetTypeDefs()[typeDefIndex].GetBaseName().c_str() );
     524                lstrcpy( VarName, compiler.GetObjectModule().meta.GetTypeDefs()[typeDefIndex].GetBaseName().c_str() );
    525525            }
    526526
    527527            char temp2[VN_SIZE];
    528528            sprintf(temp2,"%s.%s",VarName,temporary);
    529             pVar = compiler.objectModule.meta.GetGlobalVars().Find( Symbol( temp2 ) );
     529            pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( Symbol( temp2 ) );
    530530            if( pVar ){
    531531                lstrcpy(member,tempMember);
     
    539539            char temp2[VN_SIZE];
    540540            sprintf(temp2,"%s.%s",compiler.pCompilingClass->GetName().c_str(),VarName);
    541             pVar = compiler.objectModule.meta.GetGlobalVars().Find( Symbol( temp2 ) );
     541            pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( Symbol( temp2 ) );
    542542            if( pVar ){
    543543                goto GlobalOk;
     
    549549        /////////////////////
    550550
    551         pVar = compiler.objectModule.meta.GetGlobalVars().BackSearch( Symbol( VarName ) );
     551        pVar = compiler.GetObjectModule().meta.GetGlobalVars().BackSearch( Symbol( VarName ) );
    552552        if( pVar ){
    553553            goto GlobalOk;
     
    837837            char *temp;
    838838            temp=(char *)i64data;
    839             i2=compiler.objectModule.dataTable.AddString(temp,lstrlen(temp));
     839            i2=compiler.GetObjectModule().dataTable.AddString(temp,lstrlen(temp));
    840840            HeapDefaultFree(temp);
    841841
     
    10101010            char *temp;
    10111011            temp=(char *)i64data;
    1012             i2=compiler.objectModule.dataTable.AddString(temp,lstrlen(temp));
     1012            i2=compiler.GetObjectModule().dataTable.AddString(temp,lstrlen(temp));
    10131013            HeapDefaultFree(temp);
    10141014
     
    12671267    }
    12681268
    1269     BOOST_FOREACH( const Variable *pVar, compiler.objectModule.meta.GetGlobalVars() ){
     1269    BOOST_FOREACH( const Variable *pVar, compiler.GetObjectModule().meta.GetGlobalVars() ){
    12701270        if( pVar->GetType().IsObject() || pVar->GetType().IsPointer() || pVar->GetType().IsStruct() ){
    12711271            // オブジェクトまたはポインタだったとき
  • trunk/abdev/BasicCompiler32/MakePeHdr.cpp

    r263 r265  
    146146    //////////////////
    147147    // データテーブル
    148     compiler.objectModule.dataTable.Clear();
     148    compiler.GetObjectModule().dataTable.Clear();
    149149    if(bDebugCompile){
    150         compiler.objectModule.dataTable.Add( (long)0x00000002 );
     150        compiler.GetObjectModule().dataTable.Add( (long)0x00000002 );
    151151    }
    152152
     
    172172
    173173    //関数ポインタ情報を初期化
    174     compiler.objectModule.meta.GetProcPointers().clear();
     174    compiler.GetObjectModule().meta.GetProcPointers().clear();
    175175
    176176    // 名前空間情報を取得
    177177    NamespaceSupporter::CollectNamespaces(
    178178        Smoothie::Lexical::source.GetBuffer(),
    179         compiler.objectModule.meta.GetNamespaces()
     179        compiler.GetObjectModule().meta.GetNamespaces()
    180180    );
    181181
     
    183183    //   CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。
    184184    //     ※オブジェクトの内容までは取得しない
    185     compiler.objectModule.meta.GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
     185    compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
    186186
    187187    //TypeDef情報を初期化
    188     compiler.objectModule.meta.GetTypeDefs().Init();
     188    compiler.GetObjectModule().meta.GetTypeDefs().Init();
    189189
    190190    //定数情報を取得
     
    195195    CollectProcedures(
    196196        Smoothie::Lexical::source,
    197         compiler.objectModule.meta.GetUserProcs(),
    198         compiler.objectModule.meta.GetDllProcs()
     197        compiler.GetObjectModule().meta.GetUserProcs(),
     198        compiler.GetObjectModule().meta.GetDllProcs()
    199199    );
    200200
    201201    // クラス情報を取得(※注 - CollectProceduresの後に呼び出す)
    202     compiler.objectModule.meta.GetClasses().GetAllClassInfo();
     202    compiler.GetObjectModule().meta.GetClasses().GetAllClassInfo();
    203203
    204204    // サブルーチン(ユーザー定義、DLL関数)のイテレータの準備
    205     compiler.objectModule.meta.GetUserProcs().Iterator_Init();
    206     compiler.objectModule.meta.GetDllProcs().Iterator_Init();
     205    compiler.GetObjectModule().meta.GetUserProcs().Iterator_Init();
     206    compiler.GetObjectModule().meta.GetDllProcs().Iterator_Init();
    207207
    208208/*
    209     if( !compiler.objectModule.WriteXml( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.xml" ) )
     209    if( !compiler.GetObjectModule().WriteXml( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.xml" ) )
    210210    {
    211211        MessageBox(0,"XML書き込みに失敗","test",0);
     
    217217    }
    218218
    219     if( !compiler.objectModule.meta.WriteBinary( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
     219    if( !compiler.GetObjectModule().meta.WriteBinary( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
    220220    {
    221221        MessageBox(0,"バイナリ書き込みに失敗","test",0);
     
    226226        MessageBox(0,"バイナリ読み込みに失敗","test",0);
    227227    }
    228     if( !compiler.objectModule.meta.WriteText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
     228    if( !compiler.GetObjectModule().meta.WriteText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
    229229    {
    230230        MessageBox(0,"バイナリ書き込みに失敗","test",0);
     
    431431
    432432        // コード生成対象を選択
    433         compiler.codeGenerator.Select( compiler.objectModule.globalNativeCode );
     433        compiler.codeGenerator.Select( compiler.GetObjectModule().globalNativeCode );
    434434
    435435        trace_for_sourcecodestep( "★★★ グローバル領域のコンパイルを開始" );
     
    456456
    457457        //クラスに属する静的メンバを定義
    458         compiler.objectModule.meta.GetClasses().InitStaticMember();
     458        compiler.GetObjectModule().meta.GetClasses().InitStaticMember();
    459459
    460460        //グローバル実行領域をコンパイル開始
     
    542542
    543543    vector<ObjectModule *> masterObjectModules;
    544     masterObjectModules.push_back( &compiler.objectModule );
     544    masterObjectModules.push_back( &compiler.GetObjectModule() );
    545545    compiler.linker.Link( masterObjectModules );
     546
     547    oldSourceLines = compiler.linker.GetNativeCode().GetSourceLines();
    546548
    547549
     
    549551    int t,t2;
    550552    t=GetTickCount();
    551     if( !compiler.objectModule.WriteText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.xml" ) )
     553    if( !compiler.GetObjectModule().WriteText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.xml" ) )
    552554    {
    553555        MessageBox(0,"XML書き込みに失敗","test",0);
    554556    }
    555     if( !compiler.objectModule.ReadText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.xml" ) )
     557    if( !compiler.GetObjectModule().ReadText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.xml" ) )
    556558    {
    557559        MessageBox(0,"XML読み込みに失敗","test",0);
     
    563565    MessageBox(0,s,"test",0);
    564566   
    565     if( !compiler.objectModule.meta.WriteBinary( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
     567    if( !compiler.GetObjectModule().meta.WriteBinary( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
    566568    {
    567569        MessageBox(0,"バイナリ書き込みに失敗","test",0);
     
    572574        MessageBox(0,"バイナリ読み込みに失敗","test",0);
    573575    }
    574     if( !compiler.objectModule.meta.WriteText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
     576    if( !compiler.GetObjectModule().meta.WriteText( Jenga::Common::Environment::GetAppDir() + "\\objectModule_test.dat" ) )
    575577    {
    576578        MessageBox(0,"バイナリ書き込みに失敗","test",0);
     
    594596    // 使用するDLL関数のチェック
    595597    ////////////////////////////////
    596     compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
    597     while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
     598    compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
     599    while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
    598600    {
    599         const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
     601        const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    600602
    601603        if( !pDllProc->IsUsing() ){
     
    667669            //辞書順にサーチ
    668670            temporary[0]=0;
    669             compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
    670             while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
     671            compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset();
     672            while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
    671673            {
    672                 pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
     674                pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
    673675                if(pUserProc->IsExport()){
    674676                    if(temporary[0]=='\0'){
     
    693695
    694696            if( pUserProc->GetName() == "DllMain" ){
     697                // TODO: 未完成
    695698                DllMain_EntryPoint=pUserProc->_beginOpAddressOld;
    696699            }
     
    757760    int ImportDllNum=0;
    758761
    759     compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
    760     while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
     762    compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
     763    while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
    761764    {
    762         const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
     765        const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    763766
    764767        if( !pDllProc->IsUsing() ){
     
    797800        pImportTable[i].Name=i3+i*0x10;
    798801
    799         compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
    800         while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
     802        compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
     803        while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
    801804        {
    802             const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
     805            const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    803806
    804807            if( !pDllProc->IsUsing() ){
     
    826829    i3+=ImportDllNum*0x10;
    827830    for(i=0,i5=0;i<ImportDllNum;i++){
    828         compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
    829         while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
     831        compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
     832        while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
    830833        {
    831             DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
     834            DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    832835
    833836            if( !pDllProc->IsUsing() ){
     
    872875    //(デバッグ情報で利用される)
    873876    extern int AllInitGlobalVarSize;
    874     BOOST_FOREACH( Variable *pVar, compiler.objectModule.meta.GetGlobalVars() ){
     877    BOOST_FOREACH( Variable *pVar, compiler.GetObjectModule().meta.GetGlobalVars() ){
    875878        if(pVar->GetOffsetAddress()&0x80000000){
    876879            pVar->SetOffsetAddress( (pVar->GetOffsetAddress()&0x7FFFFFFF)+AllInitGlobalVarSize );
     
    883886    // デバッグセクションを生成
    884887    ////////////////////////////////////
    885 
    886     //機械語コードとBasicコードの関係を整理
    887     extern SourceLines oldSourceLines;
    888     int MinObp,MaxObp;
    889     SourceLines tempSourceLines;
    890     MaxObp=0;
    891     while(1){
    892         for(i3=0,MinObp=0x0FFFFFFF;i3<(int)oldSourceLines.size();i3++){
    893             if(oldSourceLines[i3].GetNativeCodePos()<MinObp&&MaxObp<oldSourceLines[i3].GetNativeCodePos()){
    894                 MinObp=oldSourceLines[i3].GetNativeCodePos();
    895                 i4=i3;
    896             }
    897         }
    898         if(MinObp==0x0FFFFFFF) break;
    899         tempSourceLines.push_back( oldSourceLines[i4] );
    900         MaxObp=tempSourceLines.back().GetNativeCodePos();
    901     }
    902     oldSourceLines = tempSourceLines;
    903888
    904889    //デバッグセクションを生成
     
    946931
    947932    //データセクションのファイル上のサイズ
    948     if(compiler.objectModule.dataTable.GetSize()%FILE_ALIGNMENT) FileSize_DataSection=compiler.objectModule.dataTable.GetSize()+(FILE_ALIGNMENT-compiler.objectModule.dataTable.GetSize()%FILE_ALIGNMENT);
    949     else FileSize_DataSection=compiler.objectModule.dataTable.GetSize();
     933    if(compiler.GetObjectModule().dataTable.GetSize()%FILE_ALIGNMENT) FileSize_DataSection=compiler.GetObjectModule().dataTable.GetSize()+(FILE_ALIGNMENT-compiler.GetObjectModule().dataTable.GetSize()%FILE_ALIGNMENT);
     934    else FileSize_DataSection=compiler.GetObjectModule().dataTable.GetSize();
    950935    if(FileSize_DataSection) bUse_DataSection=1;
    951936    else bUse_DataSection=0;
     
    11091094            HintSize;           //ヒント名(関数名)テーブル
    11101095
    1111         compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
    1112         while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
     1096        compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
     1097        while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
    11131098        {
    1114             const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
     1099            const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    11151100
    11161101            if( !pDllProc->IsUsing() ){
     
    11301115    ////////////////////////////////////////
    11311116    //仮想関数データテーブルスケジュール
    1132     compiler.objectModule.meta.GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
     1117    compiler.GetObjectModule().meta.GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
    11331118
    11341119
     
    12151200    if( obp == compiler.linker.GetNativeCode().GetSize() )
    12161201    {
    1217         //memcpy( OpBuffer, compiler.linker.GetNativeCode().GetCodeBuffer(), compiler.linker.GetNativeCode().GetSize() );
     1202        memcpy( OpBuffer, compiler.linker.GetNativeCode().GetCodeBuffer(), compiler.linker.GetNativeCode().GetSize() );
    12181203    }
    12191204    else
     
    16811666    if(bUse_DataSection){
    16821667        //データ テーブル
    1683         WriteFile(hFile,compiler.objectModule.dataTable.GetPtr(),compiler.objectModule.dataTable.GetSize(),(DWORD *)&i2,NULL);
     1668        WriteFile(hFile,compiler.GetObjectModule().dataTable.GetPtr(),compiler.GetObjectModule().dataTable.GetSize(),(DWORD *)&i2,NULL);
    16841669        i+=i2;
    16851670    }
     
    17931778
    17941779    //クラスに関するメモリを解放
    1795     compiler.objectModule.meta.GetClasses().Clear();
     1780    compiler.GetObjectModule().meta.GetClasses().Clear();
    17961781}
  • trunk/abdev/BasicCompiler32/NumOpe.cpp

    r259 r265  
    7676    SetStringQuotes( parameter );
    7777
    78     Operator_New( *compiler.objectModule.meta.GetClasses().GetStringClassPtr(), "", parameter, Type( DEF_OBJECT, *compiler.objectModule.meta.GetClasses().GetStringClassPtr() ) );
     78    Operator_New( *compiler.GetObjectModule().meta.GetClasses().GetStringClassPtr(), "", parameter, Type( DEF_OBJECT, *compiler.GetObjectModule().meta.GetClasses().GetStringClassPtr() ) );
    7979
    8080    free( parameter );
     
    254254        Type leftType;
    255255        if( GetTermType( termLeft, leftType, isLiteral, &isClassName ) ){
    256             if( isClassName == false && compiler.objectModule.meta.GetBlittableTypes().IsExist( leftType ) ){
     256            if( isClassName == false && compiler.GetObjectModule().meta.GetBlittableTypes().IsExist( leftType ) ){
    257257                // 左側のオブジェクト部分がBlittable型のとき
    258258
     
    260260                lstrcpy( temporary, termLeft );
    261261                sprintf( termLeft, "%s(%s)",
    262                     compiler.objectModule.meta.GetBlittableTypes().Find( leftType ).GetCreateStaticMethodFullName().c_str(),
     262                    compiler.GetObjectModule().meta.GetBlittableTypes().Find( leftType ).GetCreateStaticMethodFullName().c_str(),
    263263                    temporary );
    264264            }
     
    289289
    290290    if( pIsClassName ){
    291         if( compiler.objectModule.meta.GetClasses().Find( termFull ) ){
     291        if( compiler.GetObjectModule().meta.GetClasses().Find( termFull ) ){
    292292            *pIsClassName = true;
    293293            return true;
     
    380380        }
    381381
    382         ConstMacro *pConstMacro = compiler.objectModule.meta.GetGlobalConstMacros().Find( procName );
     382        ConstMacro *pConstMacro = compiler.GetObjectModule().meta.GetGlobalConstMacros().Find( procName );
    383383        if( pConstMacro )
    384384        {
     
    582582        }
    583583
    584         i2 = compiler.objectModule.dataTable.AddBinary( binary, num * tempBaseType.GetSize() );
     584        i2 = compiler.GetObjectModule().dataTable.AddBinary( binary, num * tempBaseType.GetSize() );
    585585
    586586        //mov eax,i2
     
    780780
    781781                        type_stack[sp]=DEF_OBJECT;
    782                         index_stack[sp]=(LONG_PTR)compiler.objectModule.meta.GetClasses().GetStringClassPtr();
     782                        index_stack[sp]=(LONG_PTR)compiler.GetObjectModule().meta.GetClasses().GetStringClassPtr();
    783783                        bLiteralCalculation=0;
    784784
     
    791791                    bLiteralCalculation=0;
    792792
    793                     i2=compiler.objectModule.dataTable.AddString(term,i3);
     793                    i2=compiler.GetObjectModule().dataTable.AddString(term,i3);
    794794
    795795                    //push DataSize
     
    875875                        }
    876876                        else{
    877                             index_stack[sp] = (LONG_PTR)compiler.objectModule.meta.GetClasses().GetObjectClassPtr();
     877                            index_stack[sp] = (LONG_PTR)compiler.GetObjectModule().meta.GetClasses().GetObjectClassPtr();
    878878                        }
    879879
     
    892892                    //////////////
    893893
    894                     i3 = compiler.objectModule.meta.GetGlobalConsts().GetBasicType(term);
     894                    i3 = compiler.GetObjectModule().meta.GetGlobalConsts().GetBasicType(term);
    895895                    if(i3){
    896                         if( compiler.objectModule.meta.GetGlobalConsts().IsStringPtr( term ) ){
     896                        if( compiler.GetObjectModule().meta.GetGlobalConsts().IsStringPtr( term ) ){
    897897                            //リテラル文字列
    898898
    899                             double dbl = compiler.objectModule.meta.GetGlobalConsts().GetDoubleData(term);
     899                            double dbl = compiler.GetObjectModule().meta.GetGlobalConsts().GetDoubleData(term);
    900900                            memcpy(&i64data,&dbl,sizeof(double));
    901901
     
    911911                        if(IsRealNumberType(i3)){
    912912                            //実数
    913                             double dbl = compiler.objectModule.meta.GetGlobalConsts().GetDoubleData(term);
     913                            double dbl = compiler.GetObjectModule().meta.GetGlobalConsts().GetDoubleData(term);
    914914                            memcpy(&i64data,&dbl,sizeof(double));
    915915                            goto Literal;
     
    917917                        else if(IsWholeNumberType(i3)){
    918918                            //整数
    919                             i64data = compiler.objectModule.meta.GetGlobalConsts().GetWholeData(term);
     919                            i64data = compiler.GetObjectModule().meta.GetGlobalConsts().GetWholeData(term);
    920920                            goto Literal;
    921921                        }
Note: See TracChangeset for help on using the changeset viewer.