Ignore:
Timestamp:
Mar 24, 2008, 8:05:20 PM (16 years ago)
Author:
dai_9181
Message:

Messenger/ErrorMessengerクラスを導入。SetError関数によるエラー生成を廃止した。

File:
1 edited

Legend:

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

    r461 r465  
    8787        if( !pTypeParameterBaseClassNames )
    8888        {
    89             SetError();
     89            compiler.errorMessenger.OutputFatalError();
    9090        }
    9191        pTypeParameterBaseClassNames->clear();
     
    113113            {
    114114                extern int cp;
    115                 SetError(1,NULL,cp);
     115                compiler.errorMessenger.Output(1,NULL,cp);
    116116            }
    117117            typeParameters.push_back( temporary );
     
    129129                    {
    130130                        extern int cp;
    131                         SetError(1,NULL,cp);
     131                        compiler.errorMessenger.Output(1,NULL,cp);
    132132                    }
    133133                }
     
    150150            {
    151151                extern int cp;
    152                 SetError(1,NULL,cp);
     152                compiler.errorMessenger.Output(1,NULL,cp);
    153153            }
    154154        }
     
    181181            char temporary[64];
    182182            GetDefaultNameFromES( cStatement, temporary );
    183             SetError( 22, temporary, pos );
     183            compiler.errorMessenger.Output( 22, temporary, pos );
    184184            return -1;
    185185        }
     
    247247                if( UserProc::IsLocalAreaCompiling() ){
    248248                    // ローカル領域をコンパイルしているとき
    249                     SetError(65,"TypeDef",cp );
     249                    compiler.errorMessenger.Output(65,"TypeDef",cp );
    250250                }
    251251
     
    256256                if( UserProc::IsLocalAreaCompiling() ){
    257257                    // ローカル領域をコンパイルしているとき
    258                     SetError(65,"Delegate",cp );
     258                    compiler.errorMessenger.Output(65,"Delegate",cp );
    259259                }
    260260
     
    273273                    LexicalScope *pScope = compiler.codeGenerator.lexicalScopes.SearchScope( LexicalScope::SCOPE_TYPE_WHILE );
    274274                    if( !pScope ){
    275                         SetError(12,"Exit While",cp);
     275                        compiler.errorMessenger.Output(12,"Exit While",cp);
    276276                        return;
    277277                    }
     
    283283                    LexicalScope *pScope = compiler.codeGenerator.lexicalScopes.SearchScope( LexicalScope::SCOPE_TYPE_FOR );
    284284                    if( !pScope ){
    285                         SetError(12,"Exit For",cp);
     285                        compiler.errorMessenger.Output(12,"Exit For",cp);
    286286                        return;
    287287                    }
     
    293293                    LexicalScope *pScope = compiler.codeGenerator.lexicalScopes.SearchScope( LexicalScope::SCOPE_TYPE_DO );
    294294                    if( !pScope ){
    295                         SetError(12,"Exit Do",cp);
     295                        compiler.errorMessenger.Output(12,"Exit Do",cp);
    296296                        return;
    297297                    }
     
    331331            case ESC_ENDWITH:
    332332                if(WithInfo.num<=0){
    333                     SetError(12,"End With",cp);
     333                    compiler.errorMessenger.Output(12,"End With",cp);
    334334                    return;
    335335                }
     
    340340                if( UserProc::IsLocalAreaCompiling() ){
    341341                    // ローカル領域をコンパイルしているとき
    342                     SetError(65,"Declare",cp );
     342                    compiler.errorMessenger.Output(65,"Declare",cp );
    343343                }
    344344                break;
     
    349349            case ESC_ENDNAMESPACE:
    350350                if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() <= 0 ){
    351                     SetError(12,"End Namespace",cp);
     351                    compiler.errorMessenger.Output(12,"End Namespace",cp);
    352352                }
    353353                compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().pop_back();
     
    380380                char temporary[64];
    381381                GetDefaultNameFromES(Command[1],temporary);
    382                 SetError(30,temporary,cp);
     382                compiler.errorMessenger.Output(30,temporary,cp);
    383383                break;
    384384        }
     
    502502                while(!(basbuf[cp]==1&&basbuf[cp+1]==ESC_ENDSUB)){
    503503                    if(basbuf[cp]=='\0'){
    504                         SetError(22,"Sub",i2);
     504                        compiler.errorMessenger.Output(22,"Sub",i2);
    505505                        break;
    506506                    }
     
    516516                while(!(basbuf[cp]==1&&basbuf[cp+1]==ESC_ENDFUNCTION)){
    517517                    if(basbuf[cp]=='\0'){
    518                         SetError(22,"Function",i2);
     518                        compiler.errorMessenger.Output(22,"Function",i2);
    519519                        break;
    520520                    }
     
    530530                while(!(basbuf[cp]==1&&basbuf[cp+1]==ESC_ENDMACRO)){
    531531                    if(basbuf[cp]=='\0'){
    532                         SetError(22,"Macro",i2);
     532                        compiler.errorMessenger.Output(22,"Macro",i2);
    533533                        break;
    534534                    }
     
    544544                while(!(basbuf[cp]==1&&basbuf[cp+1]==ESC_ENDTYPE)){
    545545                    if(basbuf[cp]=='\0'){
    546                         SetError(22,"Type",i2);
     546                        compiler.errorMessenger.Output(22,"Type",i2);
    547547                        break;
    548548                    }
     
    558558                while(!(basbuf[cp]==1&&basbuf[cp+1]==ESC_ENDCLASS)){
    559559                    if(basbuf[cp]=='\0'){
    560                         SetError(22,"Class",i2);
     560                        compiler.errorMessenger.Output(22,"Class",i2);
    561561                        break;
    562562                    }
     
    572572                while(!(basbuf[cp]==1&&basbuf[cp+1]==ESC_ENDINTERFACE)){
    573573                    if(basbuf[cp]=='\0'){
    574                         SetError(22,"Interface",i2);
     574                        compiler.errorMessenger.Output(22,"Interface",i2);
    575575                        break;
    576576                    }
     
    686686                }
    687687                if(Return_Sequence){
    688                     SetError(12,temporary,cp);
     688                    compiler.errorMessenger.Output(12,temporary,cp);
    689689                    break;
    690690                }
     
    703703                                basbuf[cp+1]==ESC_ENUM){
    704704                                GetDefaultNameFromES(basbuf[cp+1],temp3);
    705                                 SetError(12,temp3,cp);
     705                                compiler.errorMessenger.Output(12,temp3,cp);
    706706                            }
    707707                        }
     
    718718                                basbuf[cp+1]==ESC_ENUM)){
    719719                                GetDefaultNameFromES(basbuf[cp+1],temp3);
    720                                 SetError(12,temp3,cp);
     720                                compiler.errorMessenger.Output(12,temp3,cp);
    721721                            }
    722722                        }
     
    774774                switch(Return_Command){
    775775                    case COM_WEND:
    776                         SetError(4,"\"While\" - \"Wend\" ",ScopeStart);
     776                        compiler.errorMessenger.Output(4,"\"While\" - \"Wend\" ",ScopeStart);
    777777                        break;
    778778                    case COM_NEXT:
    779                         SetError(4,"\"For\" - \"Next\" ",ScopeStart);
     779                        compiler.errorMessenger.Output(4,"\"For\" - \"Next\" ",ScopeStart);
    780780                        break;
    781781                    case COM_LOOP:
    782                         SetError(4,"\"Do\" - \"Loop\" ",ScopeStart);
     782                        compiler.errorMessenger.Output(4,"\"Do\" - \"Loop\" ",ScopeStart);
    783783                        break;
    784784                }
    785785                switch(Return_Sequence){
    786786                    case ESC_ENDSUB:
    787                         SetError(4,"\"Sub\" - \"End Sub\" ",ScopeStart);
     787                        compiler.errorMessenger.Output(4,"\"Sub\" - \"End Sub\" ",ScopeStart);
    788788                        break;
    789789                    case ESC_ENDFUNCTION:
    790                         SetError(4,"\"Function\" - \"End Function\" ",ScopeStart);
     790                        compiler.errorMessenger.Output(4,"\"Function\" - \"End Function\" ",ScopeStart);
    791791                        break;
    792792                    case ESC_ENDMACRO:
    793                         SetError(4,"\"Macro\" - \"End Macro\" ",ScopeStart);
     793                        compiler.errorMessenger.Output(4,"\"Macro\" - \"End Macro\" ",ScopeStart);
    794794                        break;
    795795                    case ESC_ENDIF:
    796                         SetError(22,"If",ScopeStart);
     796                        compiler.errorMessenger.Output(22,"If",ScopeStart);
    797797                        break;
    798798                }
Note: See TracChangeset for help on using the changeset viewer.