Ignore:
Timestamp:
Aug 23, 2007, 6:17:00 PM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/OperatorProc.cpp

    r293 r299  
    259259    }
    260260
    261     Opcode_CallProc(Parameter,subs[0],0,ObjectName);
    262     resultType = subs[0]->ReturnType();
    263 
    264 
    265     /////////////////////////////////////////////////////////
    266     // ☆★☆ ジェネリクスサポート ☆★☆
    267 
    268     if( resultType.IsTypeParameter() )
    269     {
    270         // 型パラメータだったとき
    271 
    272         int ptrLevel = PTR_LEVEL( resultType.GetBasicType() );
    273 
    274         if( classType.HasActualGenericType() )
    275         {
    276             // TODO: GetDummyActualGenericTypeを適切な形に実装し直す
    277             resultType = classType.GetDummyActualGenericType();
    278         }
    279         else
    280         {
    281             // TODO: ベースオブジェクト(指定されていないときはObjectクラス)にセットする
    282             resultType.SetBasicType( DEF_OBJECT );
    283         }
    284 
    285         for( int i=0; i<ptrLevel; i++ )
    286         {
    287             resultType.PtrLevelUp();
    288         }
    289     }
    290 
    291     //
    292     /////////////////////////////////////////////////////////
    293 }
     261    const UserProc *pUserProc = subs[0];
     262
     263    Opcode_CallProc(Parameter,pUserProc,0,ObjectName);
     264    resultType = pUserProc->ReturnType();
     265
     266    // 型パラメータを解決
     267    ResolveFormalGenericTypeParameter( resultType, classType, pUserProc );
     268}
Note: See TracChangeset for help on using the changeset viewer.