Changeset 465 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/src
- Timestamp:
- Mar 24, 2008, 8:05:20 PM (17 years ago)
- Location:
- trunk/ab5.0/abdev/BasicCompiler_Common/src
- Files:
-
- 1 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/Class.cpp
r461 r465 199 199 const CClass *pInheritsClass = compiler.GetObjectModule().meta.GetClasses().Find(className); 200 200 if( !pInheritsClass ){ 201 SetError(106,className,nowLine);201 compiler.errorMessenger.Output(106,className,nowLine); 202 202 return false; 203 203 } … … 212 212 } 213 213 else{ 214 SetError(135,pInheritsClass->GetFullName().c_str(),nowLine);214 compiler.errorMessenger.Output(135,pInheritsClass->GetFullName().c_str(),nowLine); 215 215 return false; 216 216 } … … 236 236 if( !compiler.GetObjectModule().meta.GetClasses().LoopRefCheck(inheritsClass) ) 237 237 { 238 SetError(123,inheritsClass.GetName(),nowLine);238 compiler.errorMessenger.Output(123,inheritsClass.GetName(),nowLine); 239 239 return false; 240 240 } … … 296 296 { 297 297 // インターフェイスではないとき 298 SetError(138,interfaceClass.GetName().c_str(),nowLine );298 compiler.errorMessenger.Output(138,interfaceClass.GetName().c_str(),nowLine ); 299 299 return false; 300 300 } … … 379 379 const CClass *pInterfaceClass = compiler.GetObjectModule().meta.GetClasses().Find( className ); 380 380 if( !pInterfaceClass ){ 381 SetError(106,paramStr.c_str(),nowLine);381 compiler.errorMessenger.Output(106,paramStr.c_str(),nowLine); 382 382 continue; 383 383 } … … 404 404 //重複チェック 405 405 if(this->DupliCheckAll(VarName)){ 406 SetError(15,VarName,cp);406 compiler.errorMessenger.Output(15,VarName,cp); 407 407 } 408 408 … … 466 466 //デストラクタの場合はその名前が正しいかチェックを行う 467 467 if(lstrcmp(temporary+1,pobj_c->GetName().c_str())!=0) 468 SetError(117,NULL,nowLine);468 compiler.errorMessenger.Output(117,NULL,nowLine); 469 469 else 470 470 bDestructor=1; … … 489 489 490 490 if(pobj_c->DupliCheckMember(temporary)){ 491 SetError(15,temporary,nowLine);491 compiler.errorMessenger.Output(15,temporary,nowLine); 492 492 return; 493 493 } … … 502 502 { 503 503 //関数名、パラメータ、戻り値が合致したとき 504 SetError(15,pUserProc->GetName().c_str(),nowLine);504 compiler.errorMessenger.Output(15,pUserProc->GetName().c_str(),nowLine); 505 505 return; 506 506 } … … 549 549 if( interfaceName[0] ) 550 550 { 551 SetError(139,interfaceName,nowLine);551 compiler.errorMessenger.Output(139,interfaceName,nowLine); 552 552 } 553 553 … … 557 557 558 558 if( isOverride ){ 559 SetError(12,"Override",nowLine);559 compiler.errorMessenger.Output(12,"Override",nowLine); 560 560 } 561 561 … … 757 757 if( !pMember->GetType().IsStruct() ) 758 758 { 759 SetError();759 compiler.errorMessenger.OutputFatalError(); 760 760 } 761 761 … … 863 863 if( !pMember->GetType().IsStruct() ) 864 864 { 865 SetError();865 compiler.errorMessenger.OutputFatalError(); 866 866 } 867 867 … … 985 985 } 986 986 987 SetError();987 compiler.errorMessenger.OutputFatalError(); 988 988 return; 989 989 } … … 1002 1002 } 1003 1003 1004 SetError();1004 compiler.errorMessenger.OutputFatalError(); 1005 1005 return 0; 1006 1006 } … … 1014 1014 if( vtblMasterListOffset == -1 ) 1015 1015 { 1016 SetError();1016 compiler.errorMessenger.OutputFatalError(); 1017 1017 } 1018 1018 … … 1042 1042 if( vtblMasterList.size() ) 1043 1043 { 1044 SetError();1044 compiler.errorMessenger.OutputFatalError(); 1045 1045 } 1046 1046 … … 1062 1062 if( this->comVtblOffset ) 1063 1063 { 1064 SetError();1064 compiler.errorMessenger.OutputFatalError(); 1065 1065 } 1066 1066 this->comVtblOffset = tempVtblOffset; … … 1167 1167 if( !Put( pClass ) ) 1168 1168 { 1169 SetError(15,pClass->GetName(), nowLine);1169 compiler.errorMessenger.Output(15,pClass->GetName(), nowLine); 1170 1170 return false; 1171 1171 } … … 1465 1465 pCompilingMethod = pParentClass->GetStaticMethods().GetMethodPtr( pUserProc ); 1466 1466 if( !pCompilingMethod ){ 1467 SetError();1467 compiler.errorMessenger.OutputFatalError(); 1468 1468 } 1469 1469 } … … 1482 1482 if( !pStringClass ) 1483 1483 { 1484 SetError(400, "System.String", cp);1484 compiler.errorMessenger.Output(400, "System.String", cp); 1485 1485 static CClass dummy; 1486 1486 return &dummy; … … 1498 1498 if( !pObjectClass ) 1499 1499 { 1500 SetError(400, "System.Object", cp);1500 compiler.errorMessenger.Output(400, "System.Object", cp); 1501 1501 static CClass dummy; 1502 1502 return &dummy; … … 1514 1514 if( !pInterfaceInfo ) 1515 1515 { 1516 SetError(400, "ActiveBasic.Core.InterfaceInfo", cp);1516 compiler.errorMessenger.Output(400, "ActiveBasic.Core.InterfaceInfo", cp); 1517 1517 static CClass dummy; 1518 1518 return &dummy; -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Class_Collect.cpp
r461 r465 102 102 else if( source[i] == 1 && source[i+1] == ESC_ENDNAMESPACE ){ 103 103 if( namespaceScopes.size() <= 0 ){ 104 SetError(12, "End Namespace", i );104 compiler.errorMessenger.Output(12, "End Namespace", i ); 105 105 } 106 106 else{ … … 121 121 if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) ) 122 122 { 123 SetError(64,temporary,i );123 compiler.errorMessenger.Output(64,temporary,i ); 124 124 } 125 125 … … 228 228 if(pobj_LoopRefCheck->check(pMember->GetType().GetClass())){ 229 229 extern int cp; 230 SetError(124,pMember->GetType().GetClass().GetName(),cp);230 compiler.errorMessenger.Output(124,pMember->GetType().GetClass().GetName(),cp); 231 231 return false; 232 232 } … … 283 283 else if( basbuf[i] == 1 && basbuf[i+1] == ESC_ENDNAMESPACE ){ 284 284 if( namespaceScopes.size() <= 0 ){ 285 SetError(12, "End Namespace", i );285 compiler.errorMessenger.Output(12, "End Namespace", i ); 286 286 } 287 287 else{ … … 303 303 if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) ) 304 304 { 305 SetError(64,temporary,i );305 compiler.errorMessenger.Output(64,temporary,i ); 306 306 } 307 307 … … 358 358 if( !compiler.StringToType( typeParameterBaseClassNames[i2], baseType ) ) 359 359 { 360 SetError(106,typeParameterBaseClassNames[i2],i);360 compiler.errorMessenger.Output(106,typeParameterBaseClassNames[i2],i); 361 361 } 362 362 else if( !baseType.IsObject() ) 363 363 { 364 SetError(106,typeParameterBaseClassNames[i2],i);364 compiler.errorMessenger.Output(106,typeParameterBaseClassNames[i2],i); 365 365 } 366 366 } … … 394 394 395 395 if(lstrcmpi(temporary,pobj_c->GetName().c_str())==0){ 396 SetError(105,temporary,i);396 compiler.errorMessenger.Output(105,temporary,i); 397 397 goto Interface_InheritsError; 398 398 } … … 402 402 const CClass *pInheritsClass = classes.Find(temporary); 403 403 if( !pInheritsClass ){ 404 SetError(106,temporary,i);404 compiler.errorMessenger.Output(106,temporary,i); 405 405 goto Interface_InheritsError; 406 406 } … … 427 427 //エラー 428 428 if(basbuf[i]==1&&(basbuf[i+1]==ESC_CLASS||basbuf[i+1]==ESC_TYPE||basbuf[i+1]==ESC_INTERFACE)){ 429 SetError(22,"Interface",i);429 compiler.errorMessenger.Output(22,"Interface",i); 430 430 i--; 431 431 break; … … 433 433 434 434 if(basbuf[i]==1&&basbuf[i+1]==ESC_INHERITS){ 435 SetError(111,NULL,i);435 compiler.errorMessenger.Output(111,NULL,i); 436 436 break; 437 437 } 438 438 else if( basbuf[i] == 1 && basbuf[i+1] == ESC_IMPLEMENTS ) 439 439 { 440 SetError(137, NULL, i );440 compiler.errorMessenger.Output(137, NULL, i ); 441 441 break; 442 442 } … … 454 454 if(basbuf[i]=='\0'){ 455 455 i--; 456 SetError(22,"Interface",top_pos);456 compiler.errorMessenger.Output(22,"Interface",top_pos); 457 457 break; 458 458 } … … 466 466 temporary[1]==ESC_SUB||temporary[1]==ESC_FUNCTION 467 467 ))){ 468 SetError(1,NULL,i);468 compiler.errorMessenger.Output(1,NULL,i); 469 469 break; 470 470 } … … 505 505 if( dwClassType != ESC_TYPE ) 506 506 { 507 SetError(140,NULL,i);507 compiler.errorMessenger.Output(140,NULL,i); 508 508 } 509 509 510 510 if(!(iAlign==1||iAlign==2||iAlign==4||iAlign==8||iAlign==16)) 511 SetError(51,NULL,i);511 compiler.errorMessenger.Output(51,NULL,i); 512 512 } 513 513 else if( memicmp( basbuf + i, "Blittable(", 10 ) == 0 ){ … … 518 518 if( dwClassType != ESC_CLASS ) 519 519 { 520 SetError(141,NULL,i);520 compiler.errorMessenger.Output(141,NULL,i); 521 521 } 522 522 } … … 568 568 if( !compiler.StringToType( typeParameterBaseClassNames[i2], baseType ) ) 569 569 { 570 SetError(106,typeParameterBaseClassNames[i2],i);570 compiler.errorMessenger.Output(106,typeParameterBaseClassNames[i2],i); 571 571 } 572 572 else if( !baseType.IsObject() ) 573 573 { 574 SetError(106,typeParameterBaseClassNames[i2],i);574 compiler.errorMessenger.Output(106,typeParameterBaseClassNames[i2],i); 575 575 } 576 576 } … … 616 616 617 617 if(lstrcmpi(temporary,pobj_c->GetName().c_str())==0){ 618 SetError(105,temporary,i);618 compiler.errorMessenger.Output(105,temporary,i); 619 619 goto InheritsError; 620 620 } … … 644 644 //エラー 645 645 if(basbuf[i]==1&&(basbuf[i+1]==ESC_CLASS||basbuf[i+1]==ESC_TYPE)){ 646 SetError(22,"Class",i);646 compiler.errorMessenger.Output(22,"Class",i); 647 647 i--; 648 648 break; … … 650 650 651 651 if(basbuf[i]==1&&basbuf[i+1]==ESC_INHERITS){ 652 SetError(111,NULL,i);652 compiler.errorMessenger.Output(111,NULL,i); 653 653 break; 654 654 } 655 655 else if( basbuf[i] == 1 && basbuf[i+1] == ESC_IMPLEMENTS ) 656 656 { 657 SetError(137, NULL, i );657 compiler.errorMessenger.Output(137, NULL, i ); 658 658 break; 659 659 } … … 718 718 719 719 if(dwClassType==ESC_CLASS) 720 SetError(22,"Class",top_pos);720 compiler.errorMessenger.Output(22,"Class",top_pos); 721 721 else 722 SetError(22,"Type",top_pos);722 compiler.errorMessenger.Output(22,"Type",top_pos); 723 723 724 724 i--; … … 810 810 basbuf[i+1]==ESC_ENUM)){ 811 811 GetDefaultNameFromES(i3,temporary); 812 SetError(22,temporary,i);812 compiler.errorMessenger.Output(22,temporary,i); 813 813 } 814 814 if(basbuf[i]==1&&basbuf[i+1]==GetEndXXXCommand((char)i3)){ -
trunk/ab5.0/abdev/BasicCompiler_Common/src/CommonCodeGenerator.cpp
r436 r465 22 22 if( pertialSchedules.size() > 0 ) 23 23 { 24 SetError();24 compiler.errorMessenger.OutputFatalError(); 25 25 } 26 26 } … … 40 40 { 41 41 // 範囲外 42 SetError();42 compiler.errorMessenger.OutputFatalError(); 43 43 } 44 44 … … 55 55 else 56 56 { 57 SetError();57 compiler.errorMessenger.OutputFatalError(); 58 58 } 59 59 … … 72 72 if( isSuccessful == false ) 73 73 { 74 SetError();74 compiler.errorMessenger.OutputFatalError(); 75 75 } 76 76 } … … 94 94 else 95 95 { 96 SetError();96 compiler.errorMessenger.OutputFatalError(); 97 97 } 98 98 … … 111 111 if( isSuccessful == false ) 112 112 { 113 SetError();113 compiler.errorMessenger.OutputFatalError(); 114 114 } 115 115 } … … 133 133 { 134 134 // 範囲外 135 SetError();135 compiler.errorMessenger.OutputFatalError(); 136 136 } 137 137 … … 144 144 else 145 145 { 146 SetError();146 compiler.errorMessenger.OutputFatalError(); 147 147 } 148 148 … … 160 160 if( isSuccessful == false ) 161 161 { 162 SetError();162 compiler.errorMessenger.OutputFatalError(); 163 163 } 164 164 } … … 180 180 else 181 181 { 182 SetError();182 compiler.errorMessenger.OutputFatalError(); 183 183 } 184 184 } … … 196 196 else 197 197 { 198 SetError();198 compiler.errorMessenger.OutputFatalError(); 199 199 } 200 200 } … … 223 223 else 224 224 { 225 SetError();225 compiler.errorMessenger.OutputFatalError(); 226 226 } 227 227 … … 276 276 if( GetContinueCodePos() == -1 ) 277 277 { 278 SetError(12,"Continue",cp);278 compiler.errorMessenger.Output(12,"Continue",cp); 279 279 return; 280 280 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp
r461 r465 206 206 } 207 207 208 SetError(1, NULL, cp);208 compiler.errorMessenger.Output(1, NULL, cp); 209 209 210 210 return (string)"(null)"; -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Const.cpp
r265 r465 17 17 for(i=0;;i++){ 18 18 if(buffer[i]=='\0'){ 19 SetError(10,"Const",cp);19 compiler.errorMessenger.Output(10,"Const",cp); 20 20 return; 21 21 } … … 31 31 || compiler.GetObjectModule().meta.GetGlobalConsts().IsExist( name ) ) 32 32 { 33 SetError(15,name,cp);33 compiler.errorMessenger.Output(15,name,cp); 34 34 return; 35 35 } … … 144 144 extern int cp; 145 145 for(i2=0;i2<num;i2++) HeapDefaultFree(pParms[i2]); 146 SetError(10,GetName().c_str(),cp);146 compiler.errorMessenger.Output(10,GetName().c_str(),cp); 147 147 lstrcpy(dest,"0"); 148 148 return 1; … … 206 206 if(parameterStr[i]!='(') 207 207 { 208 SetError();208 compiler.errorMessenger.OutputFatalError(); 209 209 return; 210 210 } … … 214 214 for(i++,i2=0;;i++,i2++){ 215 215 if(parameterStr[i]=='\0'){ 216 SetError(1,NULL,cp);216 compiler.errorMessenger.Output(1,NULL,cp); 217 217 return; 218 218 } … … 226 226 if(parameterStr[i]!='='){ 227 227 extern int cp; 228 SetError(1,NULL,cp);228 compiler.errorMessenger.Output(1,NULL,cp); 229 229 return; 230 230 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/DataTable.cpp
r461 r465 121 121 { 122 122 // エラー 123 SetError();123 compiler.errorMessenger.OutputFatalError(); 124 124 return false; 125 125 } … … 196 196 i+=i2; 197 197 if(expression[i]!='\0'){ 198 SetError(42,NULL,cp);198 compiler.errorMessenger.Output(42,NULL,cp); 199 199 return false; 200 200 } … … 213 213 214 214 if( !compiler.StringToType( typeName, resultType ) ){ 215 SetError(3,typeName,cp);215 compiler.errorMessenger.Output(3,typeName,cp); 216 216 return false; 217 217 } … … 222 222 //////////////////////// 223 223 224 SetError(121,NULL,cp);224 compiler.errorMessenger.Output(121,NULL,cp); 225 225 return false; 226 226 } … … 268 268 { 269 269 if( !baseType.IsPointer() ){ 270 SetError(1,NULL,cp);270 compiler.errorMessenger.Output(1,NULL,cp); 271 271 return false; 272 272 } … … 301 301 if( !RemoveStringQuotes( tempParamStr ) ) 302 302 { 303 SetError();303 compiler.errorMessenger.OutputFatalError(); 304 304 } 305 305 … … 335 335 if( !resultType.IsWhole() ){ 336 336 // TODO: 実数に未対応 337 SetError();337 compiler.errorMessenger.OutputFatalError(); 338 338 isSuccessful = false; 339 339 break; -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Delegate.cpp
r449 r465 20 20 if( !compiler.StringToType( returnTypeName, returnType ) ) 21 21 { 22 SetError(3,returnTypeName,sourceIndex);22 compiler.errorMessenger.Output(3,returnTypeName,sourceIndex); 23 23 } 24 24 } … … 72 72 else if( source[i] == 1 && source[i+1] == ESC_ENDNAMESPACE ){ 73 73 if( namespaceScopes.size() <= 0 ){ 74 SetError(12, "End Namespace", i );74 compiler.errorMessenger.Output(12, "End Namespace", i ); 75 75 } 76 76 else{ … … 91 91 if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) ) 92 92 { 93 SetError(64,temporary,i );93 compiler.errorMessenger.Output(64,temporary,i ); 94 94 } 95 95 … … 108 108 if( !( source[i] == 1 && ( source[i+1] == ESC_SUB || source[i+1] == ESC_FUNCTION ) ) ) 109 109 { 110 SetError(1,NULL,i);110 compiler.errorMessenger.Output(1,NULL,i); 111 111 continue; 112 112 } … … 125 125 if( source[i] != '(' ) 126 126 { 127 SetError(1,NULL,nowLine);127 compiler.errorMessenger.Output(1,NULL,nowLine); 128 128 continue; 129 129 } … … 142 142 if( procKind != Procedure::Function ) 143 143 { 144 SetError(38,name,nowLine);144 compiler.errorMessenger.Output(38,name,nowLine); 145 145 } 146 146 } … … 149 149 if( procKind == Procedure::Function ) 150 150 { 151 SetError(-104,name,nowLine);151 compiler.errorMessenger.Output(-104,name,nowLine); 152 152 lstrcpy( returnTypeName, "Double" ); 153 153 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Enum.cpp
r424 r465 18 18 } 19 19 if(!IsVariableChar(buffer[i])){ 20 SetError(1,NULL,i);20 compiler.errorMessenger.Output(1,NULL,i); 21 21 break; 22 22 } … … 25 25 26 26 if(buffer[i]=='\0'){ 27 SetError(22,"Enum",nowLine);27 compiler.errorMessenger.Output(22,"Enum",nowLine); 28 28 return; 29 29 } … … 52 52 if(temporary[0]=='\0'){ 53 53 if(buffer[i]=='\0'){ 54 SetError(22,"Enum",nowLine);54 compiler.errorMessenger.Output(22,"Enum",nowLine); 55 55 break; 56 56 } … … 131 131 else if( source[i] == 1 && source[i+1] == ESC_ENDNAMESPACE ){ 132 132 if( namespaceScopes.size() <= 0 ){ 133 SetError(12, "End Namespace", i );133 compiler.errorMessenger.Output(12, "End Namespace", i ); 134 134 } 135 135 else{ -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Exception.cpp
r391 r465 120 120 if( isDefinedFinally ) 121 121 { 122 SetError(71,NULL,cp);122 compiler.errorMessenger.Output(71,NULL,cp); 123 123 return; 124 124 } … … 146 146 if( isDefinedFinally ) 147 147 { 148 SetError(70,NULL,cp);148 compiler.errorMessenger.Output(70,NULL,cp); 149 149 return; 150 150 } … … 173 173 if( !isDefinedFinally ) 174 174 { 175 SetError();175 compiler.errorMessenger.OutputFatalError(); 176 176 } 177 177 … … 259 259 if( tryScopes.size() == 0 ) 260 260 { 261 SetError(1,NULL,cp);261 compiler.errorMessenger.Output(1,NULL,cp); 262 262 return; 263 263 } … … 271 271 if( !typeName[0] ) 272 272 { 273 SetError(72,NULL,cp);273 compiler.errorMessenger.Output(72,NULL,cp); 274 274 } 275 275 else … … 277 277 if( !compiler.StringToType( typeName, paramType ) ) 278 278 { 279 SetError(74,typeName,cp);279 compiler.errorMessenger.Output(74,typeName,cp); 280 280 } 281 281 else … … 283 283 if( !paramType.IsObject() ) 284 284 { 285 SetError(73,typeName,cp);285 compiler.errorMessenger.Output(73,typeName,cp); 286 286 } 287 287 } … … 296 296 if( paramType.IsObject() ) 297 297 { 298 sprintf( temporary, "Dim %s = Thread.CurrentThread().__GetThrowintParamObject() As %s", varName, paramType.GetClass().GetFullName().c_str() );298 sprintf( temporary, "Dim %s = System.Threading.Thread.CurrentThread().__GetThrowintParamObject() As %s", varName, paramType.GetClass().GetFullName().c_str() ); 299 299 MakeMiddleCode( temporary ); 300 300 ChangeOpcode( temporary ); 301 301 } 302 lstrcpy( temporary, " Thread.CurrentThread().__Catched()" );302 lstrcpy( temporary, "System.Threading.Thread.CurrentThread().__Catched()" ); 303 303 MakeMiddleCode( temporary ); 304 304 ChangeOpcode( temporary ); … … 326 326 if( tryScopes.size() == 0 ) 327 327 { 328 SetError(12,"End Try",cp);328 compiler.errorMessenger.Output(12,"End Try",cp); 329 329 return; 330 330 } … … 333 333 { 334 334 // CatchもFinallyも存在しないとき 335 SetError(-108,NULL,tryScopes.back().GetSourceCodePos() );335 compiler.errorMessenger.Output(-108,NULL,tryScopes.back().GetSourceCodePos() ); 336 336 } 337 337 … … 364 364 while( tryScopes.size() > 0 ) 365 365 { 366 SetError(22, "Try", tryScopes.back().GetSourceCodePos() );366 compiler.errorMessenger.Output(22, "Try", tryScopes.back().GetSourceCodePos() ); 367 367 368 368 EndTryCommand( true ); … … 393 393 if( tryScopes.size() == 0 ) 394 394 { 395 SetError(1,NULL,cp);395 compiler.errorMessenger.Output(1,NULL,cp); 396 396 return; 397 397 } … … 424 424 if( tryScopes.size() == 0 ) 425 425 { 426 SetError(1,NULL,cp);426 compiler.errorMessenger.Output(1,NULL,cp); 427 427 return; 428 428 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalScope.cpp
r392 r465 64 64 void LexicalScopes::End(){ 65 65 if( level <= 0 ){ 66 SetError();66 compiler.errorMessenger.OutputFatalError(); 67 67 return; 68 68 } … … 154 154 if( UserProc::IsGlobalAreaCompiling() ){ 155 155 //ここには来ないハズ 156 SetError(300,NULL,cp);156 compiler.errorMessenger.Output(300,NULL,cp); 157 157 } 158 158 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Linker.cpp
r414 r465 113 113 && schedule.GetUserProc().GetEndOpAddress() == 0 ) 114 114 { 115 SetError();115 compiler.errorMessenger.OutputFatalError(); 116 116 } 117 117 … … 252 252 if( nativeCode.GetSize() > 0 ) 253 253 { 254 SetError();254 compiler.errorMessenger.OutputFatalError(); 255 255 } 256 256 -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Method.cpp
r396 r465 11 11 { 12 12 // Override修飾子が無い状況で基底クラスの実体メソッドをオーバーライドしようとした 13 SetError(127,NULL,cp);13 compiler.errorMessenger.Output(127,NULL,cp); 14 14 } 15 15 … … 21 21 { 22 22 // オーバーライドミス 23 SetError(136, pUserProc->GetName(), cp);23 compiler.errorMessenger.Output(136, pUserProc->GetName(), cp); 24 24 } 25 25 if(this->GetAccessibility() != accessibility ) 26 26 { 27 SetError(128,NULL,cp);27 compiler.errorMessenger.Output(128,NULL,cp); 28 28 } 29 29 … … 35 35 { 36 36 // 静的メソッドがコピーコンストラトされることは想定しない 37 SetError();37 compiler.errorMessenger.OutputFatalError(); 38 38 } 39 39 … … 160 160 161 161 if(pMethod->IsAbstract()){ 162 SetError();162 compiler.errorMessenger.OutputFatalError(); 163 163 164 164 ppsi[i2]=0; -
trunk/ab5.0/abdev/BasicCompiler_Common/src/NamespaceSupporter.cpp
r461 r465 46 46 else if( source[i] == 1 && source[i+1] == ESC_ENDNAMESPACE ){ 47 47 if( namespaceScopes.size() <= 0 ){ 48 SetError( 12, "End Namespace", i );48 compiler.errorMessenger.Output( 12, "End Namespace", i ); 49 49 isSuccessful = false; 50 50 } … … 59 59 60 60 if( namespaceScopes.size() > 0 ){ 61 SetError( 63, NULL, cp );61 compiler.errorMessenger.Output( 63, NULL, cp ); 62 62 isSuccessful = false; 63 63 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/NativeCode.cpp
r370 r465 4 4 5 5 #define BREAK_EIP(checkEip) (obp+0x00401000>=checkEip) 6 7 const ::DllProc &Schedule::GetDllProc() const 8 { 9 if( type != Schedule::DllProc ) 10 { 11 compiler.errorMessenger.OutputFatalError(); 12 } 13 return *pDllProc; 14 } 15 const ::UserProc &Schedule::GetUserProc() const 16 { 17 if( !( type == Schedule::UserProc || type == Schedule::AddressOf || type == Schedule::CatchAddress ) ) 18 { 19 compiler.errorMessenger.OutputFatalError(); 20 } 21 return *pUserProc; 22 } 23 const ::CClass &Schedule::GetClass() const 24 { 25 if( !( type == Schedule::ComVtbl || type == Schedule::Vtbl || type == Schedule::TypeInfo ) ) 26 { 27 compiler.errorMessenger.OutputFatalError(); 28 } 29 return *pClass; 30 } 31 32 void Schedule::SpecifyAddressOf() 33 { 34 if( type != Schedule::UserProc ) 35 { 36 compiler.errorMessenger.OutputFatalError(); 37 } 38 type = Schedule::AddressOf; 39 } 40 void Schedule::SpecifyCatchAddress() 41 { 42 if( type != Schedule::UserProc ) 43 { 44 compiler.errorMessenger.OutputFatalError(); 45 } 46 type = Schedule::CatchAddress; 47 } 6 48 7 49 void NativeCode::PutEx( const NativeCode &nativeCode ) -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Parameter.cpp
r448 r465 145 145 if( isRef == false ) 146 146 { 147 SetError(29,NULL,nowLine);147 compiler.errorMessenger.Output(29,NULL,nowLine); 148 148 } 149 149 isArray = true; … … 206 206 207 207 if( type.IsNull() ){ 208 SetError(3,temporary,nowLine);208 compiler.errorMessenger.Output(3,temporary,nowLine); 209 209 type.SetBasicType( DEF_PTR_VOID ); 210 210 } … … 219 219 else{ 220 220 type.SetBasicType( Type::GetBasicTypeFromSimpleName(temporary) ); 221 SetError(-103,temporary,nowLine);221 compiler.errorMessenger.Output(-103,temporary,nowLine); 222 222 } 223 223 … … 240 240 } 241 241 else{ 242 SetError(1,NULL,nowLine);242 compiler.errorMessenger.Output(1,NULL,nowLine); 243 243 break; 244 244 } -
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 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp
r461 r465 678 678 if( !source.ReadFile_InIncludeDirective( temporary ) ){ 679 679 sprintf(temp2,"インクルードファイル \"%s\" をオープンできません",temporary); 680 SetError(-1,temp2,i);680 compiler.errorMessenger.Output(-1,temp2,i); 681 681 break; 682 682 } … … 920 920 for( int i=0; genBuffer[i] ; i++ ){ 921 921 if( genBuffer[i] == '\n' ){ 922 SetError();922 compiler.errorMessenger.OutputFatalError(); 923 923 break; 924 924 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Type.cpp
r461 r465 116 116 } 117 117 118 SetError();118 compiler.errorMessenger.OutputFatalError(); 119 119 120 120 return 0; … … 219 219 { 220 220 if( !pClass ){ 221 SetError();221 compiler.errorMessenger.OutputFatalError(); 222 222 return 0; 223 223 } … … 232 232 } 233 233 234 SetError();234 compiler.errorMessenger.OutputFatalError(); 235 235 return 0; 236 236 } -
trunk/ab5.0/abdev/BasicCompiler_Common/src/TypeDef.cpp
r461 r465 10 10 { 11 11 if( !compiler.StringToType( baseName, baseType ) ){ 12 SetError(3, baseName, nowLine );12 compiler.errorMessenger.Output(3, baseName, nowLine ); 13 13 return; 14 14 } … … 87 87 88 88 if(expression[i]!='='){ 89 SetError(10,"TypeDef",nowLine);89 compiler.errorMessenger.Output(10,"TypeDef",nowLine); 90 90 return; 91 91 } … … 98 98 if(temporary[i]=='\0') break; 99 99 if( !( IsVariableChar( temporary[i], true) ) ){ 100 SetError(10,"TypeDef",nowLine);100 compiler.errorMessenger.Output(10,"TypeDef",nowLine); 101 101 return; 102 102 } … … 107 107 //関数ポインタ 108 108 if(pTemp[3]!='('){ 109 SetError(10,"TypeDef",nowLine);109 compiler.errorMessenger.Output(10,"TypeDef",nowLine); 110 110 return; 111 111 } … … 118 118 if( !( IsVariableChar( pTemp[i], true) ) ) 119 119 { 120 SetError(10,"TypeDef",nowLine);120 compiler.errorMessenger.Output(10,"TypeDef",nowLine); 121 121 return; 122 122 } … … 126 126 //識別子が重複している場合はエラーにする 127 127 if(lstrcmp(temporary,pTemp)==0){ 128 SetError(1,NULL,nowLine);128 compiler.errorMessenger.Output(1,NULL,nowLine); 129 129 return; 130 130 } … … 170 170 else if( basbuf[i] == 1 && basbuf[i+1] == ESC_ENDNAMESPACE ){ 171 171 if( namespaceScopes.size() <= 0 ){ 172 SetError(12, "End Namespace", i );172 compiler.errorMessenger.Output(12, "End Namespace", i ); 173 173 } 174 174 else{ … … 189 189 if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) ) 190 190 { 191 SetError(64,temporary,i );191 compiler.errorMessenger.Output(64,temporary,i ); 192 192 } 193 193
Note:
See TracChangeset
for help on using the changeset viewer.