Changeset 111 in dev for BasicCompiler32


Ignore:
Timestamp:
May 7, 2007, 2:41:36 AM (18 years ago)
Author:
dai_9181
Message:

ObjPtr(This)がエラーになるバグを修正。
オーバーロードのチェックレベルを一つ増やした(整数型のサイズ照合によるオーバーロードチェックを可能にした)。

Location:
BasicCompiler32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/Compile_Func.cpp

    r110 r111  
    22#include "Opcode.h"
    33
    4 int GetFunctionType(int FuncNum){
    5     switch(FuncNum){
    6         case FUNC_CUDBL:
    7             return DEF_DOUBLE;
    8         case FUNC_FIX:
    9         case FUNC_LEN:
    10             return DEF_LONG;
    11         case FUNC_ADDRESSOF:
    12         case FUNC_SIZEOF:
    13         case FUNC_VARPTR:
    14         case FUNC_OBJPTR:
    15             return DEF_DWORD;
    16         case FUNC_GETDOUBLE:
    17             return DEF_DOUBLE;
    18         case FUNC_GETSINGLE:
    19             return DEF_SINGLE;
    20         case FUNC_GETQWORD:
    21             return DEF_QWORD;
    22         case FUNC_GETDWORD:
    23             return DEF_DWORD;
    24         case FUNC_GETWORD:
    25             return DEF_WORD;
    26         case FUNC_GETBYTE:
    27             return DEF_BYTE;
    28     }
    29     return 0;
    30 }
    314int GetFunctionFromName(char *FuncName){
    325    if(lstrcmpi(FuncName,"CUDbl")==0)       return FUNC_CUDBL;
     
    411384    SetVarPtrToEax(&RelativeVar);
    412385
    413     if( beforeType == DEF_OBJECT && lstrcmpi( Parameter, "This" ) != 0 ){
     386    if( lstrcmpi( Parameter, "This" )==0 ){
     387        // Thisの場合は特別にオブジェクトポインタが返ってくるので、何もせずに抜ける
     388    }
     389    else if( beforeType == DEF_OBJECT ){
    414390        //参照をオブジェクトポインタに変更
    415391
  • BasicCompiler32/Opcode.h

    r97 r111  
    250250
    251251//Compile_Func.cpp
    252 int GetFunctionType(int FuncNum);
    253252int GetFunctionFromName(char *FuncName);
    254253bool Opcode_CallFunc( const char *Parameter, const int FuncNum, Type &resultType, bool isCallOn = true );
Note: See TracChangeset for help on using the changeset viewer.