Changeset 111 in dev for BasicCompiler64
- Timestamp:
- May 7, 2007, 2:41:36 AM (18 years ago)
- Location:
- BasicCompiler64
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/Compile_Func.cpp
r109 r111 2 2 #include "Opcode.h" 3 3 4 int GetFunctionType(int FuncNum){5 switch(FuncNum){6 case FUNC_LEN:7 return DEF_LONG;8 case FUNC_SIZEOF:9 return DEF_LONG;10 case FUNC_ADDRESSOF:11 case FUNC_VARPTR:12 case FUNC_OBJPTR:13 return DEF_PTR_VOID;14 case FUNC_GETDOUBLE:15 return DEF_DOUBLE;16 case FUNC_GETSINGLE:17 return DEF_SINGLE;18 case FUNC_GETQWORD:19 return DEF_QWORD;20 case FUNC_GETDWORD:21 return DEF_DWORD;22 case FUNC_GETWORD:23 return DEF_WORD;24 case FUNC_GETBYTE:25 return DEF_BYTE;26 }27 return 0;28 }29 4 int GetFunctionFromName(char *FuncName){ 30 5 if(lstrcmpi(FuncName,"Len")==0) return FUNC_LEN; … … 229 204 //mov rax,qword ptr[rax] 230 205 op_mov_RM( sizeof(_int64), REG_RAX, REG_RAX, 0, MOD_BASE ); 206 207 SetError(-120,NULL,cp); 231 208 } 232 209 } … … 254 231 SetVarPtrToReg(REG_RAX,&RelativeVar); 255 232 256 if( beforeType == DEF_OBJECT && lstrcmpi( Parameter, "This" ) != 0 ){ 233 if( lstrcmpi( Parameter, "This" )==0 ){ 234 // Thisの場合は特別にオブジェクトポインタが返ってくるので、何もせずに抜ける 235 } 236 else if( beforeType == DEF_OBJECT ){ 257 237 //参照をオブジェクトポインタに変更 258 238 -
BasicCompiler64/Opcode.h
r97 r111 389 389 390 390 //Compile_Func.cpp 391 int GetFunctionType(int FuncNum);392 391 int GetFunctionFromName(char *FuncName); 393 392 bool Opcode_CallFunc( const char *Parameter, const int FuncNum, Type &ReturnTypeInfo, bool isCallOn = true );
Note:
See TracChangeset
for help on using the changeset viewer.