Ignore:
Timestamp:
Feb 10, 2007, 8:30:19 PM (17 years ago)
Author:
dai_9181
Message:

ppobj_Member及びppobj_StaticMemberを廃止し、vectorに統一した(methods及びstaticMethods)。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/DebugMiddleFile.cpp

    r16 r51  
    364364
    365365        //メソッド
    366         *(long *)(buffer+i2)=pobj_c->iMethodNum;
    367         i2+=sizeof(long);
    368         for(i4=0;i4<pobj_c->iMethodNum;i4++){
    369             *(long *)(buffer+i2)=pobj_c->ppobj_Method[i4]->dwAccess;
    370             i2+=sizeof(long);
    371             if(pobj_c->ppobj_Method[i4]->pobj_InheritsClass){
    372                 lstrcpy(buffer+i2,pobj_c->ppobj_Method[i4]->pobj_InheritsClass->name);
     366        *(long *)(buffer+i2)=(long)pobj_c->methods.size();
     367        i2+=sizeof(long);
     368        foreach( CMethod *method, pobj_c->methods ){
     369            *(long *)(buffer+i2)=method->dwAccess;
     370            i2+=sizeof(long);
     371            if(method->pobj_InheritsClass){
     372                lstrcpy(buffer+i2,method->pobj_InheritsClass->name);
    373373                i2+=lstrlen(buffer+i2)+1;
    374374            }
     
    377377                i2+=lstrlen(buffer+i2)+1;
    378378            }
    379             lstrcpy(buffer+i2,pobj_c->ppobj_Method[i4]->psi->name);
     379            lstrcpy(buffer+i2,method->psi->name);
    380380            i2+=lstrlen(buffer+i2)+1;
    381381        }
     
    738738
    739739        //メソッド
    740         pobj_c->iMethodNum=*(long *)(buffer+i2);
    741         i2+=sizeof(long);
    742         pobj_c->ppobj_Method=
    743             (CMethod **)HeapAlloc(hHeap,0,pobj_c->iMethodNum*sizeof(CMethod *));
    744         for(i4=0;i4<pobj_c->iMethodNum;i4++){
    745             pobj_c->ppobj_Method[i4]=new CMethod();
    746 
    747             pobj_c->ppobj_Method[i4]->dwAccess=*(long *)(buffer+i2);
     740        int nMethod = *(long *)(buffer+i2);
     741        i2+=sizeof(long);
     742        for( i4=0; i4<nMethod; i4++ ){
     743            CMethod *method = new CMethod();
     744
     745            method->dwAccess=*(long *)(buffer+i2);
    748746            i2+=sizeof(long);
    749747
     
    753751
    754752            if(szInherits[0])
    755                 pobj_c->ppobj_Method[i4]->pobj_InheritsClass=pobj_DBClass->check(szInherits);
    756             else pobj_c->ppobj_Method[i4]->pobj_InheritsClass=0;
     753                method->pobj_InheritsClass=pobj_DBClass->check(szInherits);
     754            else method->pobj_InheritsClass=0;
    757755
    758756            lstrcpy(temp2,buffer+i2);
     
    760758
    761759            CClass *pobj_temp_c;
    762             pobj_temp_c=pobj_c->ppobj_Method[i4]->pobj_InheritsClass;
     760            pobj_temp_c=method->pobj_InheritsClass;
    763761            if(pobj_temp_c==0) pobj_temp_c=pobj_c;
    764762            i5=hash_default(temp2);
     
    768766                psi=psi->pNextData;
    769767            }
    770             pobj_c->ppobj_Method[i4]->psi=psi;
     768            method->psi=psi;
     769
     770            pobj_c->methods.push_back( method );
    771771        }
    772772
Note: See TracChangeset for help on using the changeset viewer.