Changeset 380 in dev for trunk/abdev/BasicCompiler64


Ignore:
Timestamp:
Dec 18, 2007, 2:51:10 AM (17 years ago)
Author:
dai_9181
Message:

Foreachに対応。
ジェネリクスインターフェイスに対応。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/Compile_Statement.cpp

    r375 r380  
    490490    i=GetOneParameter(Parameter,i,collectionVar);
    491491
     492    //レキシカルスコープをレベルアップ
     493    compiler.codeGenerator.lexicalScopes.Start( compiler.codeGenerator.GetNativeCodeSize(), LexicalScope::SCOPE_TYPE_FOR );
     494
    492495    if( !GetVarType( variable, resultType, false ) )
    493496    {
     
    501504        // 未定義の場合は自動的に定義する
    502505        sprintf(temporary,"%s%c%c%s", variable, 1, ESC_AS, collectionType.GetActualGenericType(0).GetClass().GetFullName().c_str() );
    503         MessageBox(0,temporary,"test",0);
    504506        OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
    505507    }
     
    525527    const PertialSchedule *pTempPertialSchedule = compiler.codeGenerator.op_je( 0, sizeof(long), true );
    526528
    527     //レキシカルスコープをレベルアップ
    528     compiler.codeGenerator.lexicalScopes.Start( compiler.codeGenerator.GetNativeCodeSize(), LexicalScope::SCOPE_TYPE_FOR );
    529 
    530529    // Currentプロパティから現在の値を取得
    531     // TODO: 型指定が未完成
    532     sprintf( temporary, "%s=%s.Current As String", variable, collectionVar );
     530    sprintf( temporary, "%s=%s.Current", variable, collectionVar );
    533531    Compile( temporary );
    534532
Note: See TracChangeset for help on using the changeset viewer.