Changeset 427 in dev for trunk/abdev/BasicCompiler64
- Timestamp:
- Mar 10, 2008, 7:09:39 PM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler64
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Func.cpp
r425 r427 20 20 if( lstrcmpi( FuncName, "_System_GetBp" ) == 0 ) return FUNC_SYSTEM_GET_BP; 21 21 if( lstrcmpi( FuncName, "_System_GetSp" ) == 0 ) return FUNC_SYSTEM_GET_SP; 22 if( lstrcmp( FuncName, "_System_New" ) == 0 ) return FUNC_SYSTEM_NEW; 22 23 if( lstrcmpi( FuncName, "GetDouble" ) == 0 ) return FUNC_GETDOUBLE; 23 24 if( lstrcmpi( FuncName, "GetSingle" ) == 0 ) return FUNC_GETSINGLE; … … 470 471 } 471 472 473 void Opcode_Func_System_New( const char *parameter, Type &resultType, bool isCallOn ) 474 { 475 if( !compiler.StringToType( parameter, resultType ) ) 476 { 477 SetError(); 478 return; 479 } 480 if( !resultType.IsObject() ) 481 { 482 SetError(); 483 return; 484 } 485 486 if( isCallOn ) 487 { 488 Type tempResultType; 489 if( !Operator_New( parameter, resultType, tempResultType ) ) 490 { 491 return; 492 } 493 494 if( !resultType.Equals( tempResultType ) ) 495 { 496 SetError(); 497 } 498 } 499 } 500 472 501 void Opcode_Func_GetPtrData( const char *Parameter, const int type ){ 473 502 int reg=REG_RAX; … … 537 566 resultType.SetBasicType( DEF_INT64 ); 538 567 break; 568 case FUNC_SYSTEM_NEW: 569 Opcode_Func_System_New( Parameter, resultType, isCallOn ); 570 break; 539 571 540 572 case FUNC_GETDOUBLE: -
trunk/abdev/BasicCompiler64/FunctionValue.h
r359 r427 20 20 #define FUNC_SYSTEM_GET_BP 0x0625 21 21 #define FUNC_SYSTEM_GET_SP 0x0626 22 #define FUNC_SYSTEM_NEW 0x0627 23 22 24 //ポインタ 23 25 #define FUNC_GETDOUBLE 0x0630
Note:
See TracChangeset
for help on using the changeset viewer.