Changeset 63 in dev for BasicCompiler32/Compile_ProcOp.cpp


Ignore:
Timestamp:
Feb 23, 2007, 2:12:26 AM (17 years ago)
Author:
dai_9181
Message:

CClass::GetSize、CClass::GetMemberOffsetを追加

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/Compile_ProcOp.cpp

    r55 r63  
    515515
    516516            //実体クラスを持つメンバのコンストラクタ(引数有りを除く)を呼び出す
    517             int offset;
    518             int MemberTypeSize;
    519             int MemberObjectNum;
    520             if(pobj_CompilingClass->vtbl_num) offset=PTR_SIZE;
    521             else offset=0;
    522517            for(i3=0;i3<pobj_CompilingClass->iMemberNum;i3++){
    523518                CMember *pMember = pobj_CompilingClass->ppobj_Member[i3];
    524                 MemberTypeSize=
     519                int MemberTypeSize=
    525520                    GetTypeSize(pMember->TypeInfo.type,
    526521                        pMember->TypeInfo.u.lpIndex);
    527522
    528                 MemberObjectNum=
     523                int MemberObjectNum=
    529524                    JumpSubScripts(pMember->SubScripts);
    530525
    531                 offset=GetSizeOfClassMember(pobj_CompilingClass,pMember->name,NULL);
     526                int offset = pobj_CompilingClass->GetMemberOffset( pMember->name, NULL );
    532527
    533528                if(pMember->TypeInfo.type==DEF_OBJECT && pMember->IsRef() == false){
     
    561556                pobj_CompilingClass->IsAbstract()==false){
    562557                    //関数テーブルに値をセット
    563                     offset=pobj_CompilingClass->GetVtblGlobalOffset();
     558                    int offset = (int)pobj_CompilingClass->GetVtblGlobalOffset();
    564559
    565560                    //mov eax,offset
Note: See TracChangeset for help on using the changeset viewer.