Changeset 75 in dev for BasicCompiler_Common/Overload.cpp


Ignore:
Timestamp:
Mar 20, 2007, 4:36:16 AM (17 years ago)
Author:
dai_9181
Message:

TYPEINFO→Typeへのリファクタリングを実施。64bitはほぼ完了。32bitが全般的に未完成。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/Overload.cpp

    r73 r75  
    77#endif
    88
    9 SubInfo *OverloadSolutionWithStrParam(
     9UserProc *OverloadSolutionWithStrParam(
    1010    const char *name,
    11     std::vector<SubInfo *> &subs,
     11    std::vector<UserProc *> &subs,
    1212    const char *Parameter,
    13     const char *ObjectName,
    14     TYPEINFO *pReturnTypeInfo){
     13    const char *ObjectName){
    1514
    1615        // オーバーロードの解決
     
    3130        //メソッドの場合は静的かどうかを調べる
    3231        bool isStatic = false;
    33         CClass *pClass = subs[0]->pobj_ParentClass;
     32        CClass *pClass = subs[0]->GetParentClassPtr();
    3433        if( pClass ){
    3534            isStatic = pClass->IsExistStaticMethod( MethodName );
     
    3736*/
    3837        //パラメータオブジェクトを生成
    39         if(lstrcmp(Parameter,"\"test\"")==0){
    40             int i=0;
    41         }
    4238        pobj_parameter=new ParamImpl(Parameter);
    43         if(pReturnTypeInfo) pobj_parameter->SetReturnType(pReturnTypeInfo);
    4439
    4540
    46         SubInfo *psi;
    47         psi=pobj_parameter->OverloadSolution(name,subs);
     41        UserProc *pUserProc;
     42        pUserProc=pobj_parameter->OverloadSolution(name,subs);
    4843
    4944
     
    5247        pobj_parameter=0;
    5348
    54         return psi;
     49        return pUserProc;
    5550}
    56 
    57 SubInfo *OverloadSolution(
     51UserProc *OverloadSolution(
    5852    const char *name,
    59     std::vector<SubInfo *> &subs,
    60     const PARAMETER_INFO *ppi,
    61     const int ParmNum,
    62     TYPEINFO *pReturnTypeInfo){
     53    std::vector<UserProc *> &subs,
     54    const Parameters &params,
     55    const Type &returnType ){
    6356
    6457        // オーバーロードの解決
     
    6861
    6962
    70         ParamImpl *pobj_Parameter=new ParamImpl(ppi,ParmNum);
    71         if(pReturnTypeInfo) pobj_Parameter->SetReturnType(pReturnTypeInfo);
     63        ParamImpl *pobj_Parameter=new ParamImpl( params );
     64        if( !returnType.IsNull() ){
     65            pobj_Parameter->SetReturnType( returnType );
     66        }
    7267
    73         SubInfo *psi;
    74         psi=pobj_Parameter->OverloadSolution(name,subs);
     68        UserProc *pUserProc;
     69        pUserProc=pobj_Parameter->OverloadSolution(name,subs);
    7570
    7671        delete pobj_Parameter;
    7772
    78         return psi;
     73        return pUserProc;
    7974}
Note: See TracChangeset for help on using the changeset viewer.