Changeset 427 in dev for trunk/abdev/BasicCompiler64/Compile_Func.cpp
- Timestamp:
- Mar 10, 2008, 7:09:39 PM (17 years ago)
- File:
-
- 1 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:
Note:
See TracChangeset
for help on using the changeset viewer.