Changeset 135 in dev for BasicCompiler32


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

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

Location:
BasicCompiler32
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/BasicCompiler.vcproj

    r134 r135  
    18221822                    Name="Meta Parts"
    18231823                    >
     1824                    <File
     1825                        RelativePath="..\BasicCompiler_Common\src\Member.cpp"
     1826                        >
     1827                    </File>
     1828                    <File
     1829                        RelativePath="..\BasicCompiler_Common\src\Method.cpp"
     1830                        >
     1831                    </File>
    18241832                    <File
    18251833                        RelativePath="..\BasicCompiler_Common\src\Namespace.cpp"
     
    19561964                    </File>
    19571965                    <File
    1958                         RelativePath="..\BasicCompiler_Common\include\Prototype.h"
    1959                         >
    1960                     </File>
    1961                     <File
    19621966                        RelativePath="..\BasicCompiler_Common\Type.h"
    19631967                        >
     
    19711975                        >
    19721976                    </File>
     1977                    <Filter
     1978                        Name="Prototype"
     1979                        >
     1980                        <File
     1981                            RelativePath="..\BasicCompiler_Common\include\Member.h"
     1982                            >
     1983                        </File>
     1984                        <File
     1985                            RelativePath="..\BasicCompiler_Common\include\Method.h"
     1986                            >
     1987                        </File>
     1988                        <File
     1989                            RelativePath="..\BasicCompiler_Common\include\Prototype.h"
     1990                            >
     1991                        </File>
     1992                    </Filter>
    19731993                </Filter>
    19741994                <Filter
  • BasicCompiler32/Compile_Calc.cpp

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

    r113 r135  
    113113    bool isStatic = false;
    114114    const CClass *pobj_c = NULL;
    115     CMethod *pMethod = NULL;
     115    const CMethod *pMethod = NULL;
    116116    if( pUserProc->GetParentClassPtr() ){
    117117        //クラスのメンバ関数を呼び出す場合はアクセスチェックを行う
     
    153153        /////////////////////////////////
    154154        pMethod = NULL;
    155         if( ! isStatic ) pMethod = pobj_c->GetMethodInfo( pUserProc );
     155        if( ! isStatic ) pMethod = pobj_c->GetMethods().GetMethodPtr( pUserProc );
    156156        if( ! pMethod ){
    157157            //動的メソッドが取得できなかったときは静的メソッドを当たる
    158             pMethod = pobj_c->GetStaticMethodInfo( pUserProc );
     158            pMethod = pobj_c->GetStaticMethods().GetMethodPtr( pUserProc );
    159159            if( !pMethod ){
    160160                SetError(300,NULL,cp);
     
    276276            else{
    277277                RELATIVE_VAR RelativeVar;
    278                 if( pMethod->isConst ){
     278                if( pMethod->IsConst() ){
    279279                    //Constアクセスが可能なメソッドの場合
    280280                    if( !GetVarOffsetReadOnly( ObjectName, &RelativeVar, Type() ) ){
  • BasicCompiler32/Compile_Object.cpp

    r131 r135  
    3636
    3737    std::vector<UserProc *> subs;
    38     pobj_c->EnumMethod( pobj_c->GetName().c_str(), subs );
     38    pobj_c->GetMethods().Enum( pobj_c->GetName().c_str(), subs );
    3939
    4040    UserProc *pUserProc;
     
    5656        // obj._System_SetType( _System_TypeBase.Search( strNamespace, name ) )
    5757        subs.clear();
    58         pobj_c->EnumMethod( "_System_SetType", subs );
     58        pobj_c->GetMethods().Enum( "_System_SetType", subs );
    5959        if( subs.size() == 1 ){
    6060            char temporary[VN_SIZE];
     
    208208
    209209
    210     CMethod *method = classObj.GetDestructorMethod();
     210    const CMethod *method = classObj.GetDestructorMethod();
    211211    if( method == NULL ) return;
    212212
  • BasicCompiler32/Compile_ProcOp.cpp

    r131 r135  
    599599                    基底クラスのデストラクタを呼び出す */
    600600
    601                 CMethod *method = pobj_CompilingClass->pobj_InheritsClass->GetDestructorMethod();
     601                const CMethod *method = pobj_CompilingClass->pobj_InheritsClass->GetDestructorMethod();
    602602                if( method ){
    603603                    Opcode_CallProc("",
  • BasicCompiler32/Compile_Statement.cpp

    r129 r135  
    10751075                if(type1.IsObject()){
    10761076                    std::vector<UserProc *> subs;
    1077                     type1.GetClass().EnumMethod( CALC_EQUAL, subs );
     1077                    type1.GetClass().GetMethods().Enum( CALC_EQUAL, subs );
    10781078                    if( subs.size() == 0 ){
    10791079                        return;
  • BasicCompiler32/Compile_Var.cpp

    r131 r135  
    445445
    446446            for(i=0;i<pobj_CompilingClass->iMemberNum;i++){
    447                 if(lstrcmp(VarName,pobj_CompilingClass->ppobj_Member[i]->name)==0) break;
     447                if( pobj_CompilingClass->ppobj_Member[i]->GetName() == VarName ){
     448                    break;
     449                }
    448450            }
    449451            if(i==pobj_CompilingClass->iMemberNum) goto NonClassMember;
     
    452454        //Const修飾子のメソッド内でメンバ書き込みアクセスが発生したとき
    453455        //(コンストラクタ、デストラクタ内を除く)
    454         CMethod *pMethod = pobj_DBClass->GetNowCompilingMethodInfo();
     456        const CMethod *pMethod = pobj_DBClass->GetNowCompilingMethodInfo();
    455457        if( isWriteAccess &&
    456             pMethod->isConst &&
     458            pMethod->IsConst() &&
    457459            pobj_CompilingClass->IsCompilingConstructor() == false &&
    458460            pobj_CompilingClass->IsCompilingDestructor() == false
     
    750752                i=GetOneParameter(InitBuf,i,temporary);
    751753
    752                 i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->name, NULL );
     754                i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->GetName().c_str(), NULL );
    753755
    754756                if(!SetInitGlobalData(offset+i3,
     
    886888                i=GetOneParameter(InitBuf,i,temporary);
    887889
    888                 i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->name, NULL );
     890                i3=objClass.GetMemberOffset( objClass.ppobj_Member[i2]->GetName().c_str(), NULL );
    889891
    890892                if(!InitLocalVar(offset+i3,
  • BasicCompiler32/NumOpe.cpp

    r128 r135  
    181181    GetVarFormatString(methodName,parameter,lpPtrOffset,dummy,refType);
    182182
    183     objClass.EnumMethod( methodName, userProcs );
     183    objClass.GetMethods().Enum( methodName, userProcs );
    184184    UserProc *pUserProc;
    185185    if(userProcs.size()){
  • BasicCompiler32/OperatorProc.cpp

    r76 r135  
    55    if(!IsSafeReg(reg)) SetError(300,NULL,cp);
    66
    7     CMethod *method = pobj_c->GetDestructorMethod();
     7    const CMethod *method = pobj_c->GetDestructorMethod();
    88    if( method ){
    99        //push reg
     
    2828
    2929    std::vector<UserProc *> subs;
    30     pobj_c->EnumMethod( idCalc, subs );
     30    pobj_c->GetMethods().Enum( idCalc, subs );
    3131    if( subs.size() == 0 ){
    3232        return 0;
     
    250250void CallIndexerGetterProc(const CClass *pobj_Class,char *ObjectName,char *Parameter,Type &resultType){
    251251    std::vector<UserProc *> subs;
    252     pobj_Class->EnumMethod( CALC_ARRAY_GET, subs );
     252    pobj_Class->GetMethods().Enum( CALC_ARRAY_GET, subs );
    253253    if( subs.size() == 0 ){
    254254        return;
Note: See TracChangeset for help on using the changeset viewer.