Ignore:
Timestamp:
Aug 1, 2007, 11:19:01 PM (17 years ago)
Author:
dai_9181
Message:

MetaImplを廃止し、Metaにした。
ObjectModuleクラス、Linkerクラスを用意。

Location:
trunk/abdev/BasicCompiler_Common/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/BoostSerializationSupport.cpp

    r215 r256  
    1717#include <BoostSerializationSupport.h>
    1818
    19 #include <MetaImpl.h>
    20 #include <logger.h>
    21 
    2219#include <windows.h>
    2320
     
    119116}
    120117
    121 template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::ReadBinaly( const string &filePath, bool isShowExceptionMessage )
     118template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::ReadBinary( const string &filePath, bool isShowExceptionMessage )
    122119{
    123120    // 入力アーカイブの作成
     
    157154    return true;
    158155}
    159 template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::WriteBinaly( const string &filePath, bool isShowExceptionMessage ) const
     156template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::WriteBinary( const string &filePath, bool isShowExceptionMessage ) const
    160157{
    161158    // 出力アーカイブの作成
     
    301298
    302299
    303 template class Jenga::Common::BoostSerializationSupport<MetaImpl>;
     300#include <Compiler.h>
     301#include <logger.h>
     302
     303template class Jenga::Common::BoostSerializationSupport<ObjectModule>;
    304304template class Jenga::Common::BoostSerializationSupport<LoggerSetting>;
  • trunk/abdev/BasicCompiler_Common/src/Class.cpp

    r232 r256  
    189189
    190190        //継承元クラスを取得
    191         const CClass *pInheritsClass = compiler.GetMeta().GetClasses().Find(temporary);
     191        const CClass *pInheritsClass = compiler.objectModule.meta.GetClasses().Find(temporary);
    192192        if( !pInheritsClass ){
    193193            SmoothieException::Throw(106,temporary,nowLine);
     
    219219    if( !isInheritsClass ){
    220220        // クラスを一つも継承していないとき
    221         const CClass *pObjectClass = compiler.GetMeta().GetClasses().Find("Object");
     221        const CClass *pObjectClass = compiler.objectModule.meta.GetClasses().Find("Object");
    222222        if( !pObjectClass ){
    223223            SmoothieException::Throw(106,"Object",i);
     
    243243
    244244        //継承元クラスを取得
    245         const CClass *pInheritsClass = compiler.GetMeta().GetClasses().Find(temporary);
     245        const CClass *pInheritsClass = compiler.objectModule.meta.GetClasses().Find(temporary);
    246246        if( !pInheritsClass ){
    247247            SmoothieException::Throw(106,temporary,nowLine);
     
    282282        //継承先が読み取られていないとき
    283283        pobj_LoopRefCheck->add(this->GetName().c_str());
    284         compiler.GetMeta().GetClasses().GetClass_recur(inheritsClass.GetName().c_str());
     284        compiler.objectModule.meta.GetClasses().GetClass_recur(inheritsClass.GetName().c_str());
    285285        pobj_LoopRefCheck->del(this->GetName().c_str());
    286286    }
     
    344344        //継承先が読み取られていないとき
    345345        pobj_LoopRefCheck->add(this->GetName().c_str());
    346         compiler.GetMeta().GetClasses().GetClass_recur(inheritsInterface.GetName().c_str());
     346        compiler.objectModule.meta.GetClasses().GetClass_recur(inheritsInterface.GetName().c_str());
    347347        pobj_LoopRefCheck->del(this->GetName().c_str());
    348348    }
     
    427427
    428428    //関数ハッシュへ登録
    429     UserProc *pUserProc = compiler.GetMeta().GetUserProcs().Add( NamespaceScopes(), NamespaceScopesCollection(), buffer,nowLine,isVirtual,pobj_c, (bStatic!=0) );
     429    UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Add( NamespaceScopes(), NamespaceScopesCollection(), buffer,nowLine,isVirtual,pobj_c, (bStatic!=0) );
    430430    if(!pUserProc) return;
    431431
     
    716716    }
    717717
    718     vtbl_offset=compiler.GetDataTable().AddBinary((void *)ppsi,GetVtblNum()*sizeof(LONG_PTR));
     718    vtbl_offset=compiler.objectModule.dataTable.AddBinary((void *)ppsi,GetVtblNum()*sizeof(LONG_PTR));
    719719
    720720    for( int i=0; i < GetVtblNum(); i++ ){
     
    730730
    731731    LONG_PTR *pVtbl;
    732     pVtbl=(LONG_PTR *)((char *)compiler.GetDataTable().GetPtr()+vtbl_offset);
     732    pVtbl=(LONG_PTR *)((char *)compiler.objectModule.dataTable.GetPtr()+vtbl_offset);
    733733
    734734    int i;
     
    831831
    832832    // Blittable型管理オブジェクトを初期化
    833     compiler.GetMeta().GetBlittableTypes().clear();
     833    compiler.objectModule.meta.GetBlittableTypes().clear();
    834834
    835835    // 名前空間管理
     
    951951
    952952                    // Blittable型として登録
    953                     compiler.GetMeta().GetBlittableTypes().push_back( BlittableType( blittableType, pClass ) );
     953                    compiler.objectModule.meta.GetBlittableTypes().push_back( BlittableType( blittableType, pClass ) );
    954954                }
    955955        }
     
    16561656
    16571657    // TypeDefも見る
    1658     int index = compiler.GetMeta().GetTypeDefs().GetIndex( namespaceScopes, name );
     1658    int index = compiler.objectModule.meta.GetTypeDefs().GetIndex( namespaceScopes, name );
    16591659    if( index != -1 ){
    1660         Type type = compiler.GetMeta().GetTypeDefs()[index].GetBaseType();
     1660        Type type = compiler.objectModule.meta.GetTypeDefs()[index].GetBaseType();
    16611661        if( type.IsObject() ){
    16621662            return &type.GetClass();
  • trunk/abdev/BasicCompiler_Common/src/Compiler.cpp

    r206 r256  
    1616                //関数ポインタ(*Function)
    1717                type.SetBasicType( DEF_PTR_PROC );
    18                 type.SetIndex( compiler.GetMeta().GetProcPointers().Add( typeName ) );
     18                type.SetIndex( compiler.objectModule.meta.GetProcPointers().Add( typeName ) );
    1919                return true;
    2020        }
     
    4242    // Object型だったとき
    4343    if( typeName == "Object" ){
    44         type.SetType( DEF_OBJECT, compiler.GetMeta().GetClasses().GetObjectClassPtr() );
     44        type.SetType( DEF_OBJECT, compiler.objectModule.meta.GetClasses().GetObjectClassPtr() );
    4545        return true;
    4646    }
     
    4848    // String型だったとき
    4949    if( typeName == "String" ){
    50         type.SetType( DEF_OBJECT, compiler.GetMeta().GetClasses().GetStringClassPtr() );
     50        type.SetType( DEF_OBJECT, compiler.objectModule.meta.GetClasses().GetStringClassPtr() );
    5151        return true;
    5252    }
     
    5656    // TypeDefされた型
    5757    ////////////////////
    58     int i=compiler.GetMeta().GetTypeDefs().GetIndex( typeName );
     58    int i=compiler.objectModule.meta.GetTypeDefs().GetIndex( typeName );
    5959    if(i!=-1){
    60         type = compiler.GetMeta().GetTypeDefs()[i].GetBaseType();
     60        type = compiler.objectModule.meta.GetTypeDefs()[i].GetBaseType();
    6161        return true;
    6262    }
    6363
    6464    //クラス
    65     const CClass *pobj_c = compiler.GetMeta().GetClasses().Find( typeName );
     65    const CClass *pobj_c = compiler.objectModule.meta.GetClasses().Find( typeName );
    6666    if(pobj_c){
    6767        type.SetClassPtr( pobj_c );
     
    104104        }
    105105        else{
    106             if( compiler.GetMeta().GetProcPointers()[type.GetIndex()]->ReturnType().IsNull() ){
     106            if( compiler.objectModule.meta.GetProcPointers()[type.GetIndex()]->ReturnType().IsNull() ){
    107107                return "*Sub";
    108108            }
  • trunk/abdev/BasicCompiler_Common/src/Const.cpp

    r254 r256  
    2828
    2929    //重複チェック
    30     if( compiler.GetMeta().GetGlobalConstMacros().IsExist( name )
    31         || compiler.GetMeta().GetGlobalConsts().IsExist( name ) )
     30    if( compiler.objectModule.meta.GetGlobalConstMacros().IsExist( name )
     31        || compiler.objectModule.meta.GetGlobalConsts().IsExist( name ) )
    3232    {
    3333        SetError(15,name,cp);
     
    3838        //定数マクロ
    3939
    40         compiler.GetMeta().GetGlobalConstMacros().Add( namespaceScopes, name, buffer + i );
     40        compiler.objectModule.meta.GetGlobalConstMacros().Add( namespaceScopes, name, buffer + i );
    4141    }
    4242    else{
     
    4444        char *expression = buffer + i + 1;
    4545
    46         compiler.GetMeta().GetGlobalConsts().Add( namespaceScopes, name, expression );
     46        compiler.objectModule.meta.GetGlobalConsts().Add( namespaceScopes, name, expression );
    4747    }
    4848}
  • trunk/abdev/BasicCompiler_Common/src/DataTable.cpp

    r206 r256  
    88#include <stdlib.h>
    99
    10 DataTable::DataTable(){
    11     pdata = malloc( 1 );
    12     size = 0;
    13 }
    14 DataTable::~DataTable(){
    15     free( pdata );
     10void DataTable::Realloc( int size )
     11{
     12    this->buffer = (char *)realloc( this->buffer, size + 100 );
     13    this->size = size;
    1614}
    1715
    18 void DataTable::Init(){
    19     free( pdata );
    20 
    21     pdata = malloc( 1 );
    22     size = 0;
    23 }
    24 
    25 int DataTable::AddBinary( const void *pdata, int size ){
     16int DataTable::AddBinary( const void *buffer, int size ){
    2617    int retSize = this->size;
    2718
    28     this->pdata = realloc( this->pdata, this->size + size );
    29     memcpy( (char *)this->pdata + this->size, pdata, size );
    30     this->size += size;
     19    Realloc( this->size + size );
     20    memcpy( (char *)this->buffer + retSize, buffer, size );
    3121
    3222    return retSize;
     
    8979const void *DataTable::GetPtr() const
    9080{
    91     return pdata;
     81    return buffer;
    9282}
    9383int DataTable::GetSize() const
  • trunk/abdev/BasicCompiler_Common/src/LexicalScope.cpp

    r254 r256  
    7272
    7373    Variables &vars = UserProc::IsGlobalAreaCompiling() ?
    74         compiler.GetMeta().GetGlobalVars() :
     74        compiler.objectModule.meta.GetGlobalVars() :
    7575        UserProc::CompilingUserProc().GetLocalVars();
    7676
     
    9898
    9999    Variables &vars = UserProc::IsGlobalAreaCompiling() ?
    100         compiler.GetMeta().GetGlobalVars() :
     100        compiler.objectModule.meta.GetGlobalVars() :
    101101        UserProc::CompilingUserProc().GetLocalVars();
    102102
  • trunk/abdev/BasicCompiler_Common/src/NamespaceSupporter.cpp

    r206 r256  
    99{
    1010    NamespaceScopes namespaceScopes( namespaceStr );
    11     if( !compiler.GetMeta().GetNamespaces().IsExist( namespaceScopes ) ){
     11    if( !compiler.objectModule.meta.GetNamespaces().IsExist( namespaceScopes ) ){
    1212        return false;
    1313    }
Note: See TracChangeset for help on using the changeset viewer.