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/VariableOpe.cpp

    r461 r465  
    173173    else{
    174174        extern int cp;
    175         SetError(1,NULL,cp);
     175        compiler.errorMessenger.Output(1,NULL,cp);
    176176        return 0;
    177177    }
     
    273273                }
    274274                if(variable[i]=='\"'){
    275                     SetError(1,NULL,cp);
     275                    compiler.errorMessenger.Output(1,NULL,cp);
    276276                    return;
    277277                }
     
    360360                }
    361361                if(buffer[i+1]==cPare_Open){
    362                     SetError(14,buffer,cp);
     362                    compiler.errorMessenger.Output(14,buffer,cp);
    363363                    return 0;
    364364                }
     
    411411
    412412    if(!IsVariableTopChar(name[0])){
    413         SetError(1,NULL,nowLine);
     413        compiler.errorMessenger.Output(1,NULL,nowLine);
    414414        return 0;
    415415    }
     
    417417        if(name[i2]=='\0') break;
    418418        if(!IsVariableChar(name[i2])){
    419             SetError(1,NULL,nowLine);
     419            compiler.errorMessenger.Output(1,NULL,nowLine);
    420420            return 0;
    421421        }
     
    451451    const CMember *pMember = objClass.FindDynamicMember( VarName );
    452452    if( !pMember ){
    453         if(isErrorEnabled) SetError(103,VarName,cp);
     453        if(isErrorEnabled) compiler.errorMessenger.Output(103,VarName,cp);
    454454        return false;
    455455    }
     
    459459        //同一クラスオブジェクトの場合はプライベートアクセスを容認する
    460460        if( pMember->IsNoneAccess() ){
    461             if(isErrorEnabled) SetError(107,VarName,cp);
     461            if(isErrorEnabled) compiler.errorMessenger.Output(107,VarName,cp);
    462462            return false;
    463463        }
     
    466466        if(( bPrivateAccess==0 && pMember->IsPrivate() )||
    467467            pMember->IsNoneAccess() ){
    468             if(isErrorEnabled) SetError(107,VarName,cp);
     468            if(isErrorEnabled) compiler.errorMessenger.Output(107,VarName,cp);
    469469            return false;
    470470        }
    471471        else if( bPrivateAccess==0 && pMember->IsProtected() ){
    472             if(isErrorEnabled) SetError(108,VarName,cp);
     472            if(isErrorEnabled) compiler.errorMessenger.Output(108,VarName,cp);
    473473            return false;
    474474        }
     
    490490    else{
    491491        if(lpPtrOffset[0]){
    492             if(isErrorEnabled) SetError(16,lpszMember,cp);
     492            if(isErrorEnabled) compiler.errorMessenger.Output(16,lpszMember,cp);
    493493            return false;
    494494        }
     
    523523        else{
    524524            //エラー
    525             if(isErrorEnabled) SetError(1,NULL,cp);
     525            if(isErrorEnabled) compiler.errorMessenger.Output(1,NULL,cp);
    526526            return false;
    527527        }
     
    674674
    675675    //変数として見つからなかったとき
    676     if(isErrorEnabled) SetError(3,variable,cp);
     676    if(isErrorEnabled) compiler.errorMessenger.Output(3,variable,cp);
    677677    return false;
    678678
     
    688688    else{
    689689        if(lpPtrOffset[0]){
    690             if(isErrorEnabled) SetError(16,variable,cp);
     690            if(isErrorEnabled) compiler.errorMessenger.Output(16,variable,cp);
    691691            return false;
    692692        }
     
    714714        else{
    715715            //エラー
    716             if(isErrorEnabled) SetError(1,NULL,cp);
     716            if(isErrorEnabled) compiler.errorMessenger.Output(1,NULL,cp);
    717717            return false;
    718718        }
     
    828828            (temporary[2]==ESC_FUNCTION||temporary[2]==ESC_SUB)){
    829829            if(buffer[i]!='('){
    830                 SetError(10,temporary,cp);
     830                compiler.errorMessenger.Output(10,temporary,cp);
    831831                return false;
    832832            }
     
    849849
    850850        if( !compiler.StringToType( temporary, type ) ){
    851             SetError(3,temporary,cp);
     851            compiler.errorMessenger.Output(3,temporary,cp);
    852852            return false;
    853853        }
     
    860860
    861861            if( !type.IsObject() ){
    862                 SetError(112,variable,cp);
     862                compiler.errorMessenger.Output(112,variable,cp);
    863863                return false;
    864864            }
     
    877877            if(i2>=0){
    878878                if(!(variable[i2]=='#'||variable[i2]=='!'||variable[i2]=='%'||variable[i2]=='$'))
    879                     SetError(-103,variable,cp);
     879                    compiler.errorMessenger.Output(-103,variable,cp);
    880880            }
    881881        }
     
    896896    if( InitBuf[0] != '\0' && ConstractParameter[0] != '\0' ){
    897897        //初期値とコンストラクタパラメータが同時に呼び出されているとき
    898         SetError(132, NULL, cp);
     898        compiler.errorMessenger.Output(132, NULL, cp);
    899899    }
    900900
     
    944944    if( compiler.GetObjectModule().meta.GetGlobalVars().DuplicateCheck( Symbol( name ) ) ){
    945945        //2重定義のエラー
    946         SetError(15,name,cp);
     946        compiler.errorMessenger.Output(15,name,cp);
    947947        return;
    948948    }
     
    10241024    if( Parameter[i2] == 1 && Parameter[i2+1] == ESC_BYREF ){
    10251025        //参照型
    1026         SetError();
     1026        compiler.errorMessenger.OutputFatalError();
    10271027        Parameter += 2;
    10281028    }
     
    10671067    //定数と2重定義されていないかを調べる
    10681068    if(compiler.GetObjectModule().meta.GetGlobalConsts().GetBasicType(VarName)){
    1069         SetError(15,VarName,cp);
     1069        compiler.errorMessenger.Output(15,VarName,cp);
    10701070        return;
    10711071    }
     
    10731073    //定数マクロとして定義されている場合
    10741074    if( compiler.GetObjectModule().meta.GetGlobalConstMacros().IsExist( VarName ) ){
    1075         SetError(15,VarName,cp);
     1075        compiler.errorMessenger.Output(15,VarName,cp);
    10761076        return;
    10771077    }
     
    10951095    if(dwFlags&DIMFLAG_STATIC){
    10961096        if( UserProc::IsGlobalAreaCompiling() ){
    1097             SetError(60,NULL,cp);
     1097            compiler.errorMessenger.Output(60,NULL,cp);
    10981098            return;
    10991099        }
Note: See TracChangeset for help on using the changeset viewer.