Ignore:
Timestamp:
Mar 16, 2007, 11:07:14 PM (17 years ago)
Author:
dai_9181
Message:

Parameterクラスを適用。32bit側は動くようになったので、64bitのほうを調整する。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/NumOpe_GetType.cpp

    r69 r73  
    193193    pobj_c=(CClass *)index_stack[sp-2];
    194194
    195     std::vector<SUBINFO *> subs;
     195    std::vector<SubInfo *> subs;
    196196    pobj_c->EnumMethod( idCalc, subs );
    197197    if( subs.size() == 0 ){
     
    230230    if(idCalc==CALC_EQUAL) lstrcpy(temporary,"==");
    231231    else GetCalcName(idCalc,temporary);
    232     SUBINFO *psi;
     232    SubInfo *psi;
    233233    psi=OverloadSolution(temporary,subs,ppi,iParmNum,pBaseTypeInfo);
    234234
     
    240240    else{
    241241        //オーバーロードされていないが、パラメータ個数が一致しないとき
    242         if(iParmNum!=psi->ParmNum){
     242        if(iParmNum!=psi->params.size()){
    243243            HeapDefaultFree(ppi);
    244244            return 0;
     
    299299}
    300300
    301 int NumOpe_GetType(char *Command,TYPEINFO *pBaseType,LONG_PTR *plpIndex){
     301int NumOpe_GetType_Old( const char *Command,TYPEINFO *pBaseType,LONG_PTR *plpIndex){
    302302    extern int cp;
    303303    int i,i2,i3,i4;
     
    454454
    455455                            //マクロ関数の場合
    456                             i2=NumOpe_GetType(temp3,NULL,&index_stack[sp]);
     456                            i2=NumOpe_GetType_Old(temp3,NULL,&index_stack[sp]);
    457457
    458458                            if(!IS_LITERAL(index_stack[sp])){
     
    740740    return RetType;
    741741}
     742
     743bool NumOpe_GetType( const char *expression, const Type &baseType, Type &resultType ){
     744    TYPEINFO baseTypeInfo = {
     745        baseType.GetBasicType(),
     746        baseType.GetIndex()
     747    };
     748    LONG_PTR lpIndex;
     749    int basicType = NumOpe_GetType_Old( expression,
     750        baseType.IsNull() ? NULL:&baseTypeInfo,
     751        &lpIndex );
     752
     753    resultType.SetBasicType( basicType );
     754    resultType.SetIndex( lpIndex );
     755
     756    return ( basicType != -1 );
     757}
Note: See TracChangeset for help on using the changeset viewer.