Changeset 465 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/src/Procedure.cpp
- Timestamp:
- Mar 24, 2008, 8:05:20 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/Procedure.cpp
r461 r465 105 105 //パラメータ 106 106 if(sourceOfParams[i]!='('){ 107 SetError(1,NULL,nowLine);107 compiler.errorMessenger.Output(1,NULL,nowLine); 108 108 return false; 109 109 } … … 111 111 //クラスのメンバ関数の場合のみ、デストラクタにパラメータがある場合にエラーをだす 112 112 if(this->GetName()[0]=='~'){ 113 SetError(114,NULL,nowLine);113 compiler.errorMessenger.Output(114,NULL,nowLine); 114 114 return false; 115 115 } … … 133 133 if( !this->IsFunction() ){ 134 134 // Sub/Macroの場合 135 SetError(38,this->GetName(),nowLine);135 compiler.errorMessenger.Output(38,this->GetName(),nowLine); 136 136 } 137 137 … … 140 140 else 141 141 { 142 SetError(1,NULL,nowLine);142 compiler.errorMessenger.Output(1,NULL,nowLine); 143 143 return false; 144 144 } … … 199 199 if( isRef == false ) 200 200 { 201 SetError(29,NULL,nowLine);201 compiler.errorMessenger.Output(29,NULL,nowLine); 202 202 } 203 203 isArray = true; … … 248 248 249 249 if( type.IsNull() ){ 250 SetError(3,temporary,nowLine);250 compiler.errorMessenger.Output(3,temporary,nowLine); 251 251 type.SetBasicType( DEF_PTR_VOID ); 252 252 } … … 261 261 else{ 262 262 type.SetBasicType( Type::GetBasicTypeFromSimpleName(name) ); 263 SetError(-103,name,nowLine);263 compiler.errorMessenger.Output(-103,name,nowLine); 264 264 } 265 265 … … 325 325 if(sw){ 326 326 //配列パラメータ 327 if( isRef == false ) SetError(29,NULL,nowLine);327 if( isRef == false ) compiler.errorMessenger.Output(29,NULL,nowLine); 328 328 isArray = true; 329 329 … … 389 389 390 390 if( type.IsNull() ){ 391 SetError(3,temporary,nowLine);391 compiler.errorMessenger.Output(3,temporary,nowLine); 392 392 type.SetBasicType( DEF_PTR_VOID ); 393 393 } … … 402 402 else{ 403 403 type.SetBasicType( Type::GetBasicTypeFromSimpleName(temporary) ); 404 SetError(-103,temporary,nowLine);404 compiler.errorMessenger.Output(-103,temporary,nowLine); 405 405 } 406 406 … … 421 421 if( !this->IsFunction() ){ 422 422 // Sub/Macroの場合 423 SetError(38,this->GetName(),nowLine);423 compiler.errorMessenger.Output(38,this->GetName(),nowLine); 424 424 } 425 425 … … 428 428 this->GetName()[0]=='~'){ 429 429 //クラスのコンストラクタ、デストラクタがFunction定義の場合はエラーをだす 430 SetError(115,NULL,nowLine);430 compiler.errorMessenger.Output(115,NULL,nowLine); 431 431 } 432 432 } … … 435 435 if( this->returnType.IsNull() ) 436 436 { 437 SetError(3,returnTypeStr,nowLine);437 compiler.errorMessenger.Output(3,returnTypeStr,nowLine); 438 438 } 439 439 } … … 442 442 { 443 443 // Function定義なのに、戻り値の型がセットされていない 444 SetError(-104,this->GetName().c_str(),nowLine);444 compiler.errorMessenger.Output(-104,this->GetName().c_str(),nowLine); 445 445 446 446 this->returnType.SetBasicType( DEF_DOUBLE ); … … 495 495 { 496 496 // 重複しているため、失敗 497 SetError(15,pUserProc->GetName().c_str(),nowLine);497 compiler.errorMessenger.Output(15,pUserProc->GetName().c_str(),nowLine); 498 498 return false; 499 499 } … … 536 536 if(buffer[i]==1&&buffer[i+1]==ESC_OPERATOR){ 537 537 if(!pobj_c){ 538 SetError(126,NULL,nowLine);538 compiler.errorMessenger.Output(126,NULL,nowLine); 539 539 return 0; 540 540 } … … 570 570 } 571 571 if(!iCalcId){ 572 SetError(1,NULL,nowLine);572 compiler.errorMessenger.Output(1,NULL,nowLine); 573 573 return 0; 574 574 } … … 608 608 else 609 609 { 610 SetError();610 compiler.errorMessenger.OutputFatalError(); 611 611 return NULL; 612 612 } … … 615 615 if( SplitMemberName( memberName, parentName, dummyMemberName, refKind ) ) 616 616 { 617 SetError(69,temporary,nowLine);617 compiler.errorMessenger.Output(69,temporary,nowLine); 618 618 return NULL; 619 619 } … … 621 621 else 622 622 { 623 SetError(68,temporary,nowLine);623 compiler.errorMessenger.Output(68,temporary,nowLine); 624 624 return NULL; 625 625 } … … 642 642 643 643 if(GetDeclareHash(temporary)){ 644 SetError(15,temporary,nowLine);644 compiler.errorMessenger.Output(15,temporary,nowLine); 645 645 return 0; 646 646 } … … 715 715 //パラメータ 716 716 if(sourceOfParams[i]!='('){ 717 SetError(1,NULL,nowLine);717 compiler.errorMessenger.Output(1,NULL,nowLine); 718 718 return 0; 719 719 } … … 765 765 if(sw){ 766 766 //配列パラメータ 767 if( isRef == false ) SetError(29,NULL,nowLine);767 if( isRef == false ) compiler.errorMessenger.Output(29,NULL,nowLine); 768 768 isArray = true; 769 769 … … 811 811 812 812 if( type.IsNull() ){ 813 SetError(3,temporary,nowLine);813 compiler.errorMessenger.Output(3,temporary,nowLine); 814 814 type.SetBasicType( DEF_PTR_VOID ); 815 815 } … … 817 817 else{ 818 818 type.SetBasicType( Type::GetBasicTypeFromSimpleName(temporary) ); 819 SetError(-103,temporary,nowLine);819 compiler.errorMessenger.Output(-103,temporary,nowLine); 820 820 } 821 821 … … 834 834 else if(sourceOfParams[i]==')') continue; 835 835 else{ 836 SetError(1,NULL,nowLine);836 compiler.errorMessenger.Output(1,NULL,nowLine); 837 837 break; 838 838 } … … 863 863 } 864 864 compiler.StringToType( temporary, this->returnType ); 865 if( this->returnType.IsNull() ) SetError(3,temporary,nowLine);865 if( this->returnType.IsNull() ) compiler.errorMessenger.Output(3,temporary,nowLine); 866 866 867 867 sw_as=1; … … 891 891 } 892 892 else{ 893 SetError(1,NULL,nowLine);893 compiler.errorMessenger.Output(1,NULL,nowLine); 894 894 return; 895 895 } … … 912 912 } 913 913 if(buffer[i]=='\0'){ 914 SetError(1,NULL,nowLine);914 compiler.errorMessenger.Output(1,NULL,nowLine); 915 915 return; 916 916 } … … 921 921 //ユーザー定義関数との重複チェック 922 922 if(GetSubHash(procName)){ 923 SetError(15,procName,nowLine);923 compiler.errorMessenger.Output(15,procName,nowLine); 924 924 return; 925 925 } … … 935 935 } 936 936 if( resultType.GetBasicType() != typeOfPtrChar ){ 937 SetError(1,NULL,nowLine);937 compiler.errorMessenger.Output(1,NULL,nowLine); 938 938 return; 939 939 } … … 943 943 lstrcat(dllFileName,".DLL"); 944 944 if(lstrlen(dllFileName)>=16){ 945 SetError(7,NULL,nowLine);945 compiler.errorMessenger.Output(7,NULL,nowLine); 946 946 return; 947 947 } … … 956 956 } 957 957 if( resultType.GetBasicType() != typeOfPtrChar ){ 958 SetError(1,NULL,nowLine);958 compiler.errorMessenger.Output(1,NULL,nowLine); 959 959 return; 960 960 } … … 977 977 BOOST_FOREACH( const Parameter *pParam, pDllProc->Params() ){ 978 978 if( pParam->IsObject() ){ 979 SetError(25,pParam->GetVarName(),nowLine);979 compiler.errorMessenger.Output(25,pParam->GetVarName(),nowLine); 980 980 } 981 981 if( !pParam->IsRef() ){ 982 982 if( pParam->IsStruct() ){ 983 SetError(28,pParam->GetVarName(),nowLine);983 compiler.errorMessenger.Output(28,pParam->GetVarName(),nowLine); 984 984 } 985 985 } … … 992 992 if( pDllProc->ReturnType().IsObject() ){ 993 993 // DLL関数ではオブジェクトを戻り値にできない 994 SetError(40,pDllProc->GetName(),nowLine);994 compiler.errorMessenger.Output(40,pDllProc->GetName(),nowLine); 995 995 } 996 996 } … … 1010 1010 //パラメータ 1011 1011 if(sourceOfParams[i]!='('){ 1012 SetError(1,NULL,nowLine);1012 compiler.errorMessenger.Output(1,NULL,nowLine); 1013 1013 return 0; 1014 1014 } … … 1059 1059 if(sw){ 1060 1060 //配列パラメータ 1061 if( isRef == false ) SetError(29,NULL,nowLine);1061 if( isRef == false ) compiler.errorMessenger.Output(29,NULL,nowLine); 1062 1062 isArray = true; 1063 1063 … … 1104 1104 1105 1105 if( type.IsNull() ){ 1106 SetError(3,temporary,nowLine);1106 compiler.errorMessenger.Output(3,temporary,nowLine); 1107 1107 type.SetBasicType( DEF_PTR_VOID ); 1108 1108 } … … 1110 1110 else{ 1111 1111 type.SetBasicType( Type::GetBasicTypeFromSimpleName(temporary) ); 1112 SetError(-103,temporary,nowLine);1112 compiler.errorMessenger.Output(-103,temporary,nowLine); 1113 1113 } 1114 1114 … … 1127 1127 else if(sourceOfParams[i]==')') continue; 1128 1128 else{ 1129 SetError(1,NULL,nowLine);1129 compiler.errorMessenger.Output(1,NULL,nowLine); 1130 1130 break; 1131 1131 } … … 1156 1156 } 1157 1157 compiler.StringToType( temporary, this->returnType ); 1158 if( this->returnType.IsNull() ) SetError(3,temporary,nowLine);1158 if( this->returnType.IsNull() ) compiler.errorMessenger.Output(3,temporary,nowLine); 1159 1159 1160 1160 sw_as=1; … … 1174 1174 if( this->ReturnType().IsNull() ){ 1175 1175 // 戻り値がない 1176 SetError(26,this->GetName(),nowLine);1176 compiler.errorMessenger.Output(26,this->GetName(),nowLine); 1177 1177 } 1178 1178 } … … 1180 1180 if( !this->ReturnType().IsNull() ){ 1181 1181 // Sub定義なのに、戻り値がある 1182 SetError(38,this->GetName(),nowLine);1182 compiler.errorMessenger.Output(38,this->GetName(),nowLine); 1183 1183 } 1184 1184 }
Note:
See TracChangeset
for help on using the changeset viewer.