Ignore:
Timestamp:
Aug 22, 2007, 3:46:23 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r290 r292  
    230230    {
    231231        // 型パラメータだったとき
     232
     233        int ptrLevel = PTR_LEVEL( resultType.GetBasicType() );
     234
    232235        if( classType.HasActualGenericType() )
    233236        {
     
    239242            // TODO: ベースオブジェクト(指定されていないときはObjectクラス)にセットする
    240243            resultType.SetBasicType( DEF_OBJECT );
     244        }
     245
     246        for( int i=0; i<ptrLevel; i++ )
     247        {
     248            resultType.PtrLevelUp();
    241249        }
    242250    }
     
    436444            pSubscripts = &pVar->GetSubscripts();
    437445            bConst = pVar->IsConst();
     446
     447
     448            /////////////////////////////////////////////////////////
     449            // ☆★☆ ジェネリクスサポート ☆★☆
     450
     451            if( resultType.IsTypeParameter() )
     452            {
     453                // 型パラメータだったとき
     454
     455                int ptrLevel = PTR_LEVEL( resultType.GetBasicType() );
     456
     457                // TODO: ベースオブジェクト(指定されていないときはObjectクラス)にセットする
     458                resultType.SetBasicType( DEF_OBJECT );
     459
     460                for( int i=0; i<ptrLevel; i++ )
     461                {
     462                    resultType.PtrLevelUp();
     463                }
     464            }
     465
     466            //
     467            /////////////////////////////////////////////////////////
    438468
    439469            goto ok;
Note: See TracChangeset for help on using the changeset viewer.