Changeset 50 in dev for BasicCompiler32/Compile_Object.cpp


Ignore:
Timestamp:
Feb 10, 2007, 5:44:58 PM (18 years ago)
Author:
dai_9181
Message:

オーバーロード解決用の関数保持リストを "SUBINFO " ではなく、"vector<SUBINFO *>" に変更した。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/Compile_Object.cpp

    r40 r50  
    22#include "opcode.h"
    33
    4 void CallConstructor(CClass *pobj_c,char *CreateParameter,int ObjectSize,BOOL bSomeObjects){
     4void _call_constructor(CClass *pobj_c,char *CreateParameter,int ObjectSize,BOOL bSomeObjects){
    55    ////////////////////////////
    66    // コンストラクタの呼び出し
     
    3131    ////////////////////////
    3232
    33     SUBINFO **ppsi;
     33    std::vector<SUBINFO *> subs;
     34    pobj_c->EnumMethod( pobj_c->name, subs );
     35
    3436    SUBINFO *psi;
    35     int num;
    36     ppsi=GetOverloadObjectSubHash(pobj_c->name,pobj_c,&num);
    37     if(num){
     37    if( subs.size() > 0 ){
    3838        //オーバーロードを解決
    3939        psi=OverloadSolutionWithStrParam(pobj_c->name,
    40             ppsi,num,CreateParameter,"",NULL);
    41         HeapDefaultFree(ppsi);
     40            subs,CreateParameter,"",NULL);
    4241
    4342        if(!psi) return;
     
    253252    if(ObjectSize[0]) bSomeObjects=1;
    254253    else bSomeObjects=0;
    255     CallConstructor(pobj_c,CreateParameter,TypeSize,bSomeObjects);
     254    _call_constructor(pobj_c,CreateParameter,TypeSize,bSomeObjects);
    256255
    257256    return DEF_PTR_OBJECT;
Note: See TracChangeset for help on using the changeset viewer.