Changeset 465 in dev for trunk/ab5.0/abdev/BasicCompiler32/Compile_Var.cpp
- Timestamp:
- Mar 24, 2008, 8:05:20 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler32/Compile_Var.cpp
r461 r465 35 35 else{ 36 36 //エラー 37 SetError(1,NULL,cp);37 compiler.errorMessenger.Output(1,NULL,cp); 38 38 return; 39 39 } … … 185 185 if( !pMember ) 186 186 { 187 if(isErrorEnabled) SetError(103,VarName,cp);187 if(isErrorEnabled) compiler.errorMessenger.Output(103,VarName,cp); 188 188 return false; 189 189 } … … 196 196 //同一クラスオブジェクトの場合はプライベートアクセスを容認する 197 197 if(pMember->IsNoneAccess()){ 198 if(isErrorEnabled) SetError(107,VarName,cp);198 if(isErrorEnabled) compiler.errorMessenger.Output(107,VarName,cp); 199 199 return false; 200 200 } … … 203 203 if((bPrivateAccess==0&&pMember->IsPrivate())|| 204 204 pMember->IsNoneAccess()){ 205 if(isErrorEnabled) SetError(107,VarName,cp);205 if(isErrorEnabled) compiler.errorMessenger.Output(107,VarName,cp); 206 206 return false; 207 207 } 208 208 else if(bPrivateAccess==0&&pMember->IsProtected()){ 209 if(isErrorEnabled) SetError(108,VarName,cp);209 if(isErrorEnabled) compiler.errorMessenger.Output(108,VarName,cp); 210 210 return false; 211 211 } … … 219 219 ){ 220 220 //Const定義の変数に書き込みアクセスをしようとした場合 221 SetError(61,VarName,cp);221 compiler.errorMessenger.Output(61,VarName,cp); 222 222 } 223 223 … … 237 237 else{ 238 238 if(lpPtrOffset[0]){ 239 if(isErrorEnabled) SetError(16,member,cp);239 if(isErrorEnabled) compiler.errorMessenger.Output(16,member,cp); 240 240 return false; 241 241 } … … 250 250 //配列オフセット 251 251 if(!GetArrayOffset(pMember->GetSubscripts(),array,pMember->GetType())){ 252 if(isErrorEnabled) SetError(14,member,cp);252 if(isErrorEnabled) compiler.errorMessenger.Output(14,member,cp); 253 253 return false; 254 254 } … … 263 263 if( resultType.IsObject() || resultType.IsStruct() ){ 264 264 if( refType != RefDot ){ 265 if(isErrorEnabled) SetError(104,member,cp);265 if(isErrorEnabled) compiler.errorMessenger.Output(104,member,cp); 266 266 return false; 267 267 } … … 279 279 if( ( resultType.IsObjectPtr() || resultType.IsStructPtr() ) 280 280 && refType != RefDot ){ 281 if(isErrorEnabled) SetError(104,member,cp);281 if(isErrorEnabled) compiler.errorMessenger.Output(104,member,cp); 282 282 return false; 283 283 } … … 293 293 if( ( resultType.IsObjectPtr() || resultType.IsStructPtr() ) 294 294 && refType != RefPointer ){ 295 if(isErrorEnabled) SetError(104,member,cp);295 if(isErrorEnabled) compiler.errorMessenger.Output(104,member,cp); 296 296 return false; 297 297 } … … 307 307 //ppObj[n]->member 308 308 if( refType != RefPointer ){ 309 if(isErrorEnabled) SetError(104,member,cp);309 if(isErrorEnabled) compiler.errorMessenger.Output(104,member,cp); 310 310 return false; 311 311 } … … 321 321 } 322 322 else{ 323 if(isErrorEnabled) SetError(104,member,cp);323 if(isErrorEnabled) compiler.errorMessenger.Output(104,member,cp); 324 324 return false; 325 325 } … … 403 403 else{ 404 404 if(lpPtrOffset[0]){ 405 SetError(16,variable,cp);405 compiler.errorMessenger.Output(16,variable,cp); 406 406 pRelativeVar->dwKind=NON_VAR; 407 407 return false; … … 485 485 compiler.pCompilingClass->IsCompilingDestructor() == false 486 486 ){ 487 SetError(131, NULL, cp );487 compiler.errorMessenger.Output(131, NULL, cp ); 488 488 } 489 489 … … 577 577 } 578 578 579 if(isErrorEnabled) SetError(3,variable,cp);579 if(isErrorEnabled) compiler.errorMessenger.Output(3,variable,cp); 580 580 pRelativeVar->dwKind=NON_VAR; 581 581 return false; … … 593 593 else{ 594 594 if(lpPtrOffset[0]){ 595 SetError(16,variable,cp);595 compiler.errorMessenger.Output(16,variable,cp); 596 596 pRelativeVar->dwKind=NON_VAR; 597 597 return false; … … 619 619 if( resultType.IsObject() ){ 620 620 //オブジェクト定数 621 SetError(130, VarName, cp );621 compiler.errorMessenger.Output(130, VarName, cp ); 622 622 } 623 623 else{ 624 624 //一般のConst変数 625 SetError(61,VarName,cp);625 compiler.errorMessenger.Output(61,VarName,cp); 626 626 } 627 627 } … … 647 647 if(array[0]){ 648 648 if(!GetArrayOffset(*pSubscripts,array,resultType)){ 649 SetError(14,variable,cp);649 compiler.errorMessenger.Output(14,variable,cp); 650 650 pRelativeVar->dwKind=NON_VAR; 651 651 return false; … … 656 656 //実態オブジェクトのメンバを参照(obj.member) 657 657 if( refType != RefDot ){ 658 SetError(104,VarName,cp);658 compiler.errorMessenger.Output(104,VarName,cp); 659 659 pRelativeVar->dwKind=NON_VAR; 660 660 return false; … … 671 671 //pObj[n].member 672 672 if( refType != RefDot ){ 673 SetError(104,VarName,cp);673 compiler.errorMessenger.Output(104,VarName,cp); 674 674 pRelativeVar->dwKind=NON_VAR; 675 675 return false; … … 681 681 //pObj->member 682 682 if( refType != RefPointer ){ 683 SetError(104,VarName,cp);683 compiler.errorMessenger.Output(104,VarName,cp); 684 684 pRelativeVar->dwKind=NON_VAR; 685 685 return false; … … 698 698 //ppObj[n]->member 699 699 if( refType != RefPointer ){ 700 SetError(104,VarName,cp);700 compiler.errorMessenger.Output(104,VarName,cp); 701 701 pRelativeVar->dwKind=NON_VAR; 702 702 return false; … … 713 713 } 714 714 else{ 715 SetError(104,VarName,cp);715 compiler.errorMessenger.Output(104,VarName,cp); 716 716 pRelativeVar->dwKind=NON_VAR; 717 717 return false; … … 719 719 } 720 720 else{ 721 SetError(102,VarName,cp);721 compiler.errorMessenger.Output(102,VarName,cp); 722 722 pRelativeVar->dwKind=NON_VAR; 723 723 return false; … … 768 768 while(1){ 769 769 if( subscripts[0] < i2 ){ 770 SetError(41,0,cp);770 compiler.errorMessenger.Output(41,0,cp); 771 771 return 0; 772 772 } … … 790 790 BOOST_FOREACH( CMember *pMember, objClass.GetDynamicMembers() ){ 791 791 if(InitBuf[i]=='\0'){ 792 SetError(41,0,cp);792 compiler.errorMessenger.Output(41,0,cp); 793 793 return false; 794 794 } … … 806 806 } 807 807 808 SetError(41,0,cp);808 compiler.errorMessenger.Output(41,0,cp); 809 809 return false; 810 810 } … … 816 816 817 817 if( subscripts.size() > 0 ){ 818 SetError(41,0,cp);818 compiler.errorMessenger.Output(41,0,cp); 819 819 return false; 820 820 } … … 931 931 while(1){ 932 932 if( subscripts[0] < i2 ){ 933 SetError(41,0,cp);933 compiler.errorMessenger.Output(41,0,cp); 934 934 return 0; 935 935 } … … 953 953 BOOST_FOREACH( CMember *pMember, objClass.GetDynamicMembers() ){ 954 954 if(InitBuf[i]=='\0'){ 955 SetError(41,0,cp);955 compiler.errorMessenger.Output(41,0,cp); 956 956 return false; 957 957 } … … 971 971 } 972 972 973 SetError(41,0,cp);973 compiler.errorMessenger.Output(41,0,cp); 974 974 return false; 975 975 } … … 981 981 982 982 if( subscripts.size() > 0 ){ 983 SetError(41,0,cp);983 compiler.errorMessenger.Output(41,0,cp); 984 984 return false; 985 985 } … … 1105 1105 if( UserProc::CompilingUserProc().GetLocalVars().DuplicateCheck( Symbol( VarName ) ) ){ 1106 1106 //2重定義のエラー 1107 SetError(15,VarName,cp);1107 compiler.errorMessenger.Output(15,VarName,cp); 1108 1108 return; 1109 1109 } … … 1218 1218 else{ 1219 1219 if( subscripts.size() > 1 ){ 1220 SetError(300,NULL,cp);1220 compiler.errorMessenger.Output(300,NULL,cp); 1221 1221 } 1222 1222 sprintf( objectSize, "%d", subscripts[0] ); … … 1230 1230 GetVarOffset( true, false, VarName, &RelativeVar, Type() ); 1231 1231 if( RelativeVar.dwKind == VAR_DIRECTMEM ){ 1232 SetError();1232 compiler.errorMessenger.OutputFatalError(); 1233 1233 } 1234 1234 SetVariableFromEax( Type( DEF_OBJECT, *compiler.GetObjectModule().meta.GetClasses().GetObjectClassPtr() ), DEF_OBJECT, &RelativeVar ); … … 1306 1306 void SetVarPtrToReg(int reg,RELATIVE_VAR *pRelativeVar){ 1307 1307 if( reg != REG_EAX ){ 1308 SetError();1308 compiler.errorMessenger.OutputFatalError(); 1309 1309 //TODO: 未完成 1310 1310 } … … 1315 1315 const UserProc *pUserProc_AddGlobalRootPtr = GetClassMethod( "_System_CGarbageCollection", "AddGlobalRootPtr" ); 1316 1316 if( !pUserProc_AddGlobalRootPtr ){ 1317 SetError(3, "_System_CGarbageCollection.AddGlobalRootPtr", -1 );1317 compiler.errorMessenger.Output(3, "_System_CGarbageCollection.AddGlobalRootPtr", -1 ); 1318 1318 return false; 1319 1319 }
Note:
See TracChangeset
for help on using the changeset viewer.