Changeset 687 in dev for trunk/ab5.0/abdev/compiler_x86/Compile_Func.cpp
- Timestamp:
- Jul 13, 2008, 2:56:09 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/compiler_x86/Compile_Func.cpp
r672 r687 7 7 8 8 #include "FunctionValue.h" 9 10 void Opcode_Func_ObjPtr( const char *Parameter, Type &resultType, bool isCallOn ); 9 11 10 12 int GetFunctionFromName(char *FuncName){ … … 392 394 393 395 // オブジェクト ポインタを取得 394 RELATIVE_VAR relativeVar; 395 GetVarOffsetReadOnly( thisPtrName, &relativeVar, type ); 396 if( !type.IsObject() ) 397 { 398 extern int cp; 399 compiler.errorMessenger.Output(1,NULL,cp); 400 return; 401 } 402 403 SetVarPtrToEax( &relativeVar ); 404 405 //mov eax,dword ptr[eax] 406 compiler.codeGenerator.op_mov_RM( sizeof(long), REG_EAX, REG_EAX, 0, MOD_BASE ); 396 Opcode_Func_ObjPtr( thisPtrName, type, true ); 407 397 408 398 //push eax … … 553 543 compiler.codeGenerator.op_mov_RV( REG_EAX, tempType.GetClass().GetSize() ); 554 544 } 555 void Opcode_Func_VarPtr( const char *Parameter, Type &resultType, bool isCallOn ){ 556 if( isCallOn == false ){ 545 void Opcode_Func_VarPtr( const char *Parameter, Type &resultType, bool isCallOn ) 546 { 547 if( isCallOn == false ) 548 { 557 549 // 戻り値の型を取得するだけ 558 550 … … 563 555 564 556 return; 557 } 558 559 if( lstrcmpi( Parameter, "This" )==0 ) 560 { 561 compiler.errorMessenger.Output( 144, "", cp ); 565 562 } 566 563
Note:
See TracChangeset
for help on using the changeset viewer.