Changeset 438 in dev for trunk


Ignore:
Timestamp:
Mar 17, 2008, 9:59:05 PM (17 years ago)
Author:
dai_9181
Message:

関数パラメータに指定されたジェネリクスの型パラメータ解決に失敗してしまう不具合を修正。
また、エラー行番号がソースコード内の無関係な位置を指し示してしまう不具合を修正。

Location:
trunk/abdev/BasicCompiler_Common
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/Compile.cpp

    r435 r438  
    203203    int backCp = cp;
    204204    MakeMiddleCode( temporary );
     205    cp = backCp;
    205206    ChangeOpcode( temporary );
    206207    cp = backCp;
  • trunk/abdev/BasicCompiler_Common/src/Procedure.cpp

    r411 r438  
    236236
    237237            i2=0;
    238             while(paramStr[i]=='*'){
    239                 temporary[i2]=paramStr[i];
    240                 i++;
    241                 i2++;
    242             }
    243             for(;;i++,i2++){
    244                 if(!IsVariableChar(paramStr[i])){
    245                     if(paramStr[i]==1&&(paramStr[i+1]==ESC_FUNCTION||paramStr[i+1]==ESC_SUB)){
    246                         temporary[i2++]=paramStr[i++];
    247                         temporary[i2]=paramStr[i];
    248                         continue;
    249                     }
    250                     temporary[i2]=0;
    251                     break;
    252                 }
    253                 temporary[i2]=paramStr[i];
    254             }
     238            lstrcpy( temporary, paramStr.c_str() + i );
    255239
    256240            compiler.StringToType( temporary, type );
Note: See TracChangeset for help on using the changeset viewer.