Ignore:
Timestamp:
Nov 11, 2007, 6:38:52 PM (16 years ago)
Author:
dai_9181
Message:

Tryスコープのコード補完機能のバグを修正(EndTryコード補間が過剰に行われていた)。
コンパイラのログ生成処理をきった。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Exception.cpp

    r365 r366  
    315315    compiler.codeGenerator.opfix( tryScopes.back().GetPertialScheduleForFinallyAddress(), compiler.codeGenerator.GetNativeCodeSize() );
    316316}
    317 void EndTryCommand()
     317void EndTryCommand( bool isNoWarning )
    318318{
    319319    if( tryScopes.size() == 0 )
    320320    {
    321         SetError(1,NULL,cp);
     321        SetError(12,"End Try",cp);
    322322        return;
    323323    }
    324324
    325     if( !tryScopes.back().IsDefinedFinally() && !tryScopes.back().IsCatched() )
     325    if( !isNoWarning && !tryScopes.back().IsDefinedFinally() && !tryScopes.back().IsCatched() )
    326326    {
    327327        // CatchもFinallyも存在しないとき
     
    351351    tryScopes.back().EndTry();
    352352    tryScopes.pop_back();
     353}
     354
     355void InspectTryScope()
     356{
     357    while( tryScopes.size() > 0 )
     358    {
     359        SetError(22, "Try", tryScopes.back().GetSourceCodePos() );
     360
     361        EndTryCommand( true );
     362    }
    353363}
    354364
Note: See TracChangeset for help on using the changeset viewer.