Changeset 135 in dev for BasicCompiler64


Ignore:
Timestamp:
Jun 6, 2007, 12:58:40 AM (17 years ago)
Author:
dai_9181
Message:

Method/Memberのリファクタリング

Location:
BasicCompiler64
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/BasicCompiler.vcproj

    r131 r135  
    480480                    >
    481481                    <File
     482                        RelativePath="..\BasicCompiler_Common\include\Member.h"
     483                        >
     484                    </File>
     485                    <File
     486                        RelativePath="..\BasicCompiler_Common\include\Method.h"
     487                        >
     488                    </File>
     489                    <File
    482490                        RelativePath="..\BasicCompiler_Common\include\Namespace.h"
    483491                        >
     
    15601568                    >
    15611569                    <File
     1570                        RelativePath="..\BasicCompiler_Common\src\Member.cpp"
     1571                        >
     1572                    </File>
     1573                    <File
     1574                        RelativePath="..\BasicCompiler_Common\src\Method.cpp"
     1575                        >
     1576                    </File>
     1577                    <File
    15621578                        RelativePath="..\BasicCompiler_Common\src\Namespace.cpp"
    15631579                        >
     
    15651581                    <File
    15661582                        RelativePath="..\BasicCompiler_Common\Procedure.cpp"
     1583                        >
     1584                    </File>
     1585                    <File
     1586                        RelativePath="..\BasicCompiler_Common\src\Prototype.cpp"
    15671587                        >
    15681588                    </File>
  • BasicCompiler64/Compile_Calc.cpp

    r129 r135  
    230230        // Blittable型をオブジェクトとして扱う
    231231        vector<UserProc *> userProcs;
    232         Smoothie::Meta::blittableTypes.GetClass( calcType ).EnumStaticMethod( "_Create", userProcs );
     232        Smoothie::Meta::blittableTypes.GetClass( calcType ).GetStaticMethods().EnumStatic( "_Create", userProcs );
    233233        if( userProcs.size() != 1 ){
    234234            SetError();
  • BasicCompiler64/Compile_CallProc.cpp

    r102 r135  
    118118    bool isStatic = false;
    119119    const CClass *pobj_c = NULL;
    120     CMethod *pMethod = NULL;
     120    const CMethod *pMethod = NULL;
    121121    if( pUserProc->GetParentClassPtr() ){
    122122        //クラスのメンバ関数を呼び出す場合はアクセスチェックを行う
     
    158158        /////////////////////////////////
    159159        pMethod = NULL;
    160         if( ! isStatic ) pMethod = pobj_c->GetMethodInfo( pUserProc );
     160        if( ! isStatic ) pMethod = pobj_c->GetMethods().GetMethodPtr( pUserProc );
    161161        if( ! pMethod ){
    162162            //動的メソッドが取得できなかったときは静的メソッドを当たる
    163             pMethod = pobj_c->GetStaticMethodInfo( pUserProc );
     163            pMethod = pobj_c->GetStaticMethods().GetMethodPtr( pUserProc );
    164164            if( !pMethod ){
    165165                SetError(300,NULL,cp);
     
    308308            else{
    309309                RELATIVE_VAR RelativeVar;
    310                 if( pMethod->isConst ){
     310                if( pMethod->IsConst() ){
    311311                    //Constアクセスが可能なメソッドの場合
    312312                    if( !GetVarOffsetReadOnly( ObjectName, &RelativeVar, Type() ) ){
  • BasicCompiler64/Compile_Object.cpp

    r131 r135  
    3434
    3535    std::vector<UserProc *> subs;
    36     pobj_c->EnumMethod( pobj_c->GetName().c_str(), subs );
     36    pobj_c->GetMethods().Enum( pobj_c->GetName().c_str(), subs );
    3737
    3838    UserProc *pUserProc;
     
    5454        // obj._System_SetType( _System_TypeBase.Search( strNamespace, name ) )
    5555        subs.clear();
    56         pobj_c->EnumMethod( "_System_SetType", subs );
     56        pobj_c->GetMethods().Enum( "_System_SetType", subs );
    5757        if( subs.size() == 1 ){
    5858            char temporary[VN_SIZE];
     
    179179
    180180
    181     CMethod *method = classObj.GetDestructorMethod();
     181    const CMethod *method = classObj.GetDestructorMethod();
    182182    if( method == NULL ) return;
    183183
  • BasicCompiler64/Compile_ProcOp.cpp

    r131 r135  
    650650                    基底クラスのデストラクタを呼び出す */
    651651
    652                 CMethod *method = pobj_CompilingClass->pobj_InheritsClass->GetDestructorMethod();
     652                const CMethod *method = pobj_CompilingClass->pobj_InheritsClass->GetDestructorMethod();
    653653                if( method ){
    654654                    Opcode_CallProc("",
  • BasicCompiler64/Compile_Statement.cpp

    r129 r135  
    733733                if(type1.IsObject()){
    734734                    std::vector<UserProc *> subs;
    735                     type1.GetClass().EnumMethod( CALC_EQUAL, subs );
     735                    type1.GetClass().GetMethods().Enum( CALC_EQUAL, subs );
    736736                    if( subs.size() == 0 ){
    737737                        return;
  • BasicCompiler64/Compile_Var.cpp

    r131 r135  
    472472
    473473            for(i=0;i<pobj_CompilingClass->iMemberNum;i++){
    474                 if(lstrcmp(VarName,pobj_CompilingClass->ppobj_Member[i]->name)==0) break;
     474                if( pobj_CompilingClass->ppobj_Member[i]->GetName() == VarName ){
     475                    break;
     476                }
    475477            }
    476478            if(i==pobj_CompilingClass->iMemberNum) goto NonClassMember;
     
    479481        //Const修飾子のメソッド内でメンバ書き込みアクセスが発生したとき
    480482        //(コンストラクタ、デストラクタ内を除く)
    481         CMethod *pMethod = pobj_DBClass->GetNowCompilingMethodInfo();
     483        const CMethod *pMethod = pobj_DBClass->GetNowCompilingMethodInfo();
    482484        if( isWriteAccess &&
    483             pMethod->isConst &&
     485            pMethod->IsConst() &&
    484486            pobj_CompilingClass->IsCompilingConstructor() == false &&
    485487            pobj_CompilingClass->IsCompilingDestructor() == false
     
    772774                i=GetOneParameter(InitBuf,i,temporary);
    773775
    774                 i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->name, NULL );
     776                i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->GetName().c_str(), NULL );
    775777
    776778                if(!SetInitGlobalData(offset+i3,
     
    908910                i=GetOneParameter(InitBuf,i,temporary);
    909911
    910                 i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->name, NULL );
     912                i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->GetName().c_str(), NULL );
    911913
    912914                if(!InitLocalVar(offset+i3,
  • BasicCompiler64/NumOpe.cpp

    r131 r135  
    166166    GetVarFormatString(methodName,parameter,lpPtrOffset,dummy,refType);
    167167
    168     objClass.EnumMethod( methodName, userProcs );
     168    objClass.GetMethods().Enum( methodName, userProcs );
    169169    UserProc *pUserProc;
    170170    if(userProcs.size()){
  • BasicCompiler64/OperatorProc.cpp

    r76 r135  
    1010    ////////////////////////////////////////////////
    1111
    12     CMethod *method = pobj_c->GetDestructorMethod();
     12    const CMethod *method = pobj_c->GetDestructorMethod();
    1313    if( method ){
    1414        //mov rcx,reg
     
    3333
    3434    std::vector<UserProc *> subs;
    35     pobj_c->EnumMethod( idCalc, subs );
     35    pobj_c->GetMethods().Enum( idCalc, subs );
    3636    if( subs.size() == 0 ){
    3737        return 0;
     
    320320
    321321    std::vector<UserProc *> subs;
    322     pobj_Class->EnumMethod( CALC_ARRAY_GET, subs );
     322    pobj_Class->GetMethods().Enum( CALC_ARRAY_GET, subs );
    323323    if( subs.size() == 0 ){
    324324        return;
Note: See TracChangeset for help on using the changeset viewer.