Changeset 46 in dev


Ignore:
Timestamp:
Feb 6, 2007, 1:19:17 AM (17 years ago)
Author:
dai_9181
Message:

VarPtrの戻り値の型をVoidPtrではなく、ポインタレベルを増加した型にした。
関連関数のパラメータにconstを適用。

Files:
22 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/CParameter.cpp

    r45 r46  
    141141    return 1;
    142142}
    143 SUBINFO *CParameter::OverloadSolutionWithReturnType(char *name,SUBINFO **ppsi,int num){
     143SUBINFO *CParameter::OverloadSolutionWithReturnType(const char *name,SUBINFO **ppsi,int num){
    144144    int i,sw=0;
    145145    SUBINFO *psi;
     
    211211}
    212212
    213 SUBINFO *CParameter::OverloadSolution(char *name,SUBINFO **ppsi,int num){
     213SUBINFO *CParameter::OverloadSolution(const char *name,SUBINFO **ppsi,int num){
    214214    int i,sw=0;
    215215    SUBINFO *psi;
     
    285285}
    286286
    287 BOOL CParameter::ErrorCheck(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
     287BOOL CParameter::ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
    288288    if(ParmsNum>pi_num){
    289289        if(ppi[pi_num-1].type!=DEF_ELLIPSE){
     
    332332}
    333333
    334 void CParameter::NewTempParameters( char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum ){
     334void CParameter::NewTempParameters( const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum ){
    335335    ///////////////////////////////////////////////////////
    336336    // 一時オブジェクトをあらかじめスタックに積んでおく
     
    544544}
    545545
    546 int CParameter::SetParameter(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
     546int CParameter::SetParameter(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
    547547    ///////////////////////////////////////////////////////////
    548548    // パラメータをレジスタ及びスタックフレームにセット
     
    564564
    565565    //戻り値用の変数名を取得
    566     char *lpszVarNameToReturn;
    567     if(FuncName[0]==1&&FuncName[1]==ESC_OPERATOR) lpszVarNameToReturn="_System_ReturnValue";
    568     else lpszVarNameToReturn=FuncName;
     566    const char *lpszVarNameToReturn = (FuncName[0]==1&&FuncName[1]==ESC_OPERATOR)?"_System_ReturnValue":FuncName;
    569567
    570568    //パラメータをレジスタとスタックに格納
  • BasicCompiler32/Compile_Calc.cpp

    r40 r46  
    658658    if( VarType == DEF_OBJECT && VarRelativeVar.dwKind == VAR_REFLOCAL ){
    659659        // 参照型オブジェクトへの代入(初期化)はポインタ変数と同様の処理に値する
    660         VarType = PTR_LEVEL_UP( VarType );
     660        PTR_LEVEL_UP( VarType );
    661661
    662662        VarRelativeVar.dwKind = VAR_LOCAL;
     
    664664        if( CalcType == DEF_OBJECT ){
    665665            //右辺値が実体オブジェクトのときは、参照をコピー
    666             CalcType = PTR_LEVEL_UP( DEF_OBJECT );
     666            PTR_LEVEL_UP( CalcType );
    667667        }
    668668    }
  • BasicCompiler32/Compile_CallProc.cpp

    r45 r46  
    8989        FuncId=(int)(_int64)pInfo;
    9090
    91         ret_type=Opcode_CallFunc(Parameter,FuncId);
     91        TYPEINFO ReturnTypeInfo = { DEF_LONG, NULL };
     92        Opcode_CallFunc( Parameter, FuncId, ReturnTypeInfo );
     93        if( plpRetIndex ){
     94            *plpRetIndex = ReturnTypeInfo.u.lpIndex;
     95        }
     96        return ReturnTypeInfo.type;
    9297    }
    9398    else if(idProc==PROC_PTR){
  • BasicCompiler32/Compile_Func.cpp

    r28 r46  
    4444}
    4545
    46 void Opcode_Func_Fix(char *Parameter){
     46void Opcode_Func_Fix(const char *Parameter){
    4747    int i;
    4848
     
    161161}
    162162
    163 void Opcode_Func_CUDbl(char *Parameter){
     163void Opcode_Func_CUDbl(const char *Parameter){
    164164    int i;
    165165
     
    185185    op_add_esp(8);
    186186}
    187 void Opcode_Func_Len(char *Parameter){
     187void Opcode_Func_Len(const char *Parameter){
    188188    int type,TypeSize;
    189189    LONG_PTR lpIndex;
     
    192192    type=GetVarType(Parameter,&lpIndex,0);
    193193
    194     char *tempParm=Parameter;
     194    const char *tempParm=Parameter;
    195195    char temporary[VN_SIZE];
    196196    char temp2[32];
     
    241241    obp+=sizeof(long);
    242242}
    243 void Opcode_Func_AddressOf(char *name){
     243void Opcode_Func_AddressOf(const char *name){
    244244    extern int cp;
    245245    SUBINFO *psi;
     
    353353    psi->bUse=1;
    354354}
    355 void Opcode_Func_SizeOf(char *Parameter){
     355void Opcode_Func_SizeOf(const char *Parameter){
    356356    int type,size;
    357357    LONG_PTR lpIndex;
     
    370370    obp+=sizeof(long);
    371371}
    372 void Opcode_Func_VarPtr(char *Parameter){
    373     int type;
     372void Opcode_Func_VarPtr( const char *Parameter, TYPEINFO &ReturnTypeInfo ){
    374373    RELATIVE_VAR RelativeVar;
    375374
    376375    //変数のアドレスを取得
    377     if(!GetVarOffsetReadOnly(Parameter,&type,&RelativeVar,0)) return;
     376    if(!GetVarOffsetReadOnly( Parameter, &ReturnTypeInfo.type, &RelativeVar, &ReturnTypeInfo.u.lpIndex )) return;
     377
     378    PTR_LEVEL_UP( ReturnTypeInfo.type );
    378379
    379380    SetVarPtrToEax(&RelativeVar);
    380381}
    381 void Opcode_Func_GetPtrData(char *Parameter,int type){
     382void Opcode_Func_GetPtrData(const char *Parameter,const int type){
    382383    int i2;
    383384
     
    438439}
    439440
    440 int Opcode_CallFunc(char *Parameter,int FuncNum){
     441void Opcode_CallFunc( const char *Parameter, const int FuncNum, TYPEINFO &ReturnTypeInfo ){
    441442    switch(FuncNum){
    442443        case FUNC_FIX:
    443444            Opcode_Func_Fix(Parameter);
    444             return DEF_LONG;
     445            ReturnTypeInfo.type = DEF_LONG;
     446            break;
    445447        case FUNC_CUDBL:
    446448            Opcode_Func_CUDbl(Parameter);
    447             return DEF_DOUBLE;
     449            ReturnTypeInfo.type = DEF_DOUBLE;
     450            break;
    448451        case FUNC_LEN:
    449452            Opcode_Func_Len(Parameter);
    450             return DEF_LONG;
     453            ReturnTypeInfo.type = DEF_LONG;
     454            break;
    451455        case FUNC_ADDRESSOF:
    452456            Opcode_Func_AddressOf(Parameter);
    453             return DEF_PTR_VOID;
     457            ReturnTypeInfo.type = DEF_PTR_VOID;
     458            break;
    454459        case FUNC_SIZEOF:
    455460            Opcode_Func_SizeOf(Parameter);
    456             return DEF_LONG;
     461            ReturnTypeInfo.type = DEF_LONG;
     462            break;
    457463        case FUNC_VARPTR:
    458             Opcode_Func_VarPtr(Parameter);
    459             return DEF_PTR_VOID;
     464            Opcode_Func_VarPtr( Parameter, ReturnTypeInfo );
     465            break;
    460466
    461467        case FUNC_GETDOUBLE:
    462468            Opcode_Func_GetPtrData(Parameter,DEF_DOUBLE);
    463             return DEF_DOUBLE;
     469            ReturnTypeInfo.type = DEF_DOUBLE;
     470            break;
    464471        case FUNC_GETSINGLE:
    465472            Opcode_Func_GetPtrData(Parameter,DEF_SINGLE);
    466             return DEF_SINGLE;
     473            ReturnTypeInfo.type = DEF_SINGLE;
     474            break;
    467475        case FUNC_GETQWORD:
    468476            Opcode_Func_GetPtrData(Parameter,DEF_QWORD);
    469             return DEF_QWORD;
     477            ReturnTypeInfo.type = DEF_QWORD;
     478            break;
    470479        case FUNC_GETDWORD:
    471480            Opcode_Func_GetPtrData(Parameter,DEF_DWORD);
    472             return DEF_DWORD;
     481            ReturnTypeInfo.type = DEF_DWORD;
     482            break;
    473483        case FUNC_GETWORD:
    474484            Opcode_Func_GetPtrData(Parameter,DEF_WORD);
    475             return DEF_WORD;
     485            ReturnTypeInfo.type = DEF_WORD;
     486            break;
    476487        case FUNC_GETBYTE:
    477488            Opcode_Func_GetPtrData(Parameter,DEF_BYTE);
    478             return DEF_BYTE;
    479     }
    480     return 0;
    481 }
     489            ReturnTypeInfo.type = DEF_BYTE;
     490            break;
     491    }
     492}
  • BasicCompiler32/Opcode.h

    r40 r46  
    207207private:
    208208    BOOL _overload_check(PARAMETER_INFO *ppi,int pi_num,TYPEINFO *pReturnTypeInfo,int overload_level);
    209     SUBINFO *OverloadSolutionWithReturnType(char *name,SUBINFO **ppsi,int num);
     209    SUBINFO *OverloadSolutionWithReturnType(const char *name,SUBINFO **ppsi,int num);
    210210public:
    211     SUBINFO *OverloadSolution(char *name,SUBINFO **ppsi,int num);
    212 
    213     BOOL ErrorCheck(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
     211    SUBINFO *OverloadSolution(const char *name,SUBINFO **ppsi,int num);
     212
     213    BOOL ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
    214214    void MacroParameterSupport(PARAMETER_INFO *ppi);
    215215    void SetObjectParameter(CClass *pobj_Class,LPSTR Parameter);
    216     int SetParameter(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
     216    int SetParameter(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
    217217
    218218    //一時オブジェクトパラメータの生成と破棄
    219     void NewTempParameters( char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum );
     219    void NewTempParameters( const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum );
    220220    void DeleteTempParameters();
    221221};
     
    236236int GetFunctionType(int FuncNum);
    237237int GetFunctionFromName(char *FuncName);
    238 int Opcode_CallFunc(char *Parameter,int FuncNum);
     238void Opcode_CallFunc( const char *Parameter, const int FuncNum, TYPEINFO &ReturnTypeInfo );
    239239
    240240//OperatorProc.cpp
  • BasicCompiler64/CParameter.cpp

    r45 r46  
    140140    return 1;
    141141}
    142 SUBINFO *CParameter::OverloadSolutionWithReturnType(char *name,SUBINFO **ppsi,int num){
     142SUBINFO *CParameter::OverloadSolutionWithReturnType(const char *name,SUBINFO **ppsi,int num){
    143143    int i,sw=0;
    144144    SUBINFO *psi;
     
    210210}
    211211
    212 SUBINFO *CParameter::OverloadSolution(char *name,SUBINFO **ppsi,int num){
     212SUBINFO *CParameter::OverloadSolution(const char *name,SUBINFO **ppsi,int num){
    213213    int i,sw=0;
    214214    SUBINFO *psi;
     
    283283}
    284284
    285 BOOL CParameter::ErrorCheck(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
     285BOOL CParameter::ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
    286286    if(ParmsNum>pi_num){
    287287        if(ppi[pi_num-1].type!=DEF_ELLIPSE){
     
    330330}
    331331
    332 void CParameter::NewTempParameters( char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum ){
     332void CParameter::NewTempParameters( const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum ){
    333333    ///////////////////////////////////////////////////////
    334334    // 一時オブジェクトをあらかじめスタックに積んでおく
     
    539539}
    540540
    541 void CParameter::SetParameter(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
     541void CParameter::SetParameter(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
    542542    ///////////////////////////////////////////////////////////
    543543    // パラメータをレジスタ及びスタックフレームにセット
     
    559559
    560560    //戻り値用の変数名を取得
    561     char *lpszVarNameToReturn;
    562     if(FuncName[0]==1&&FuncName[1]==ESC_OPERATOR) lpszVarNameToReturn="_System_ReturnValue";
    563     else lpszVarNameToReturn=FuncName;
     561    const char *lpszVarNameToReturn = (FuncName[0]==1&&FuncName[1]==ESC_OPERATOR)?"_System_ReturnValue":FuncName;
    564562
    565563    //パラメータをレジスタとスタックに格納
  • BasicCompiler64/Compile_Calc.cpp

    r40 r46  
    285285    if( VarType == DEF_OBJECT && VarRelativeVar.dwKind == VAR_REFLOCAL ){
    286286        // 参照型オブジェクトへの代入(初期化)はポインタ変数と同様の処理に値する
    287         VarType = PTR_LEVEL_UP( VarType );
     287        PTR_LEVEL_UP( VarType );
    288288
    289289        VarRelativeVar.dwKind = VAR_LOCAL;
     
    291291        if( CalcType == DEF_OBJECT ){
    292292            //右辺値が実体オブジェクトのときは、参照をコピー
    293             CalcType = PTR_LEVEL_UP( DEF_OBJECT );
     293            PTR_LEVEL_UP( CalcType );
    294294        }
    295295    }
  • BasicCompiler64/Compile_CallProc.cpp

    r45 r46  
    9090        FuncId=(int)(_int64)pInfo;
    9191
    92         ret_type=Opcode_CallFunc(Parameter,FuncId);
     92        TYPEINFO ReturnTypeInfo = { DEF_LONG, NULL };
     93        Opcode_CallFunc( Parameter, FuncId, ReturnTypeInfo );
     94        if( plpRetIndex ){
     95            *plpRetIndex = ReturnTypeInfo.u.lpIndex;
     96        }
     97        return ReturnTypeInfo.type;
    9398    }
    9499    else if(idProc==PROC_PTR){
  • BasicCompiler64/Compile_Func.cpp

    r28 r46  
    3939    return 0;
    4040}
    41 void Opcode_Func_Len(char *Parameter){
     41void Opcode_Func_Len( const char *Parameter ){
    4242    int type,TypeSize;
    4343    LONG_PTR lpIndex;
     
    4646    type=GetVarType(Parameter,&lpIndex,0);
    4747
    48     char *tempParm=Parameter;
     48    const char *tempParm=Parameter;
    4949    char temporary[VN_SIZE];
    5050    char temp2[32];
     
    9393    return;
    9494}
    95 void Opcode_Func_AddressOf(char *name){
     95void Opcode_Func_AddressOf( const char *name ){
    9696    extern int cp;
    9797    SUBINFO *psi;
     
    103103        SUBINFO **ppsi;
    104104        int num;
    105         ppsi=GetOverloadSubHash(name,&num);
     105        ppsi=GetOverloadSubHash( name, &num );
    106106        if(!num){
    107107            HeapDefaultFree(ppsi);
     
    202202    psi->bUse=1;
    203203}
    204 void Opcode_Func_SizeOf(char *Parameter){
     204void Opcode_Func_SizeOf( const char *Parameter ){
    205205    int type,size;
    206206    LONG_PTR lpIndex;
     
    212212    op_mov_RV(sizeof(_int64),REG_RAX,size);
    213213}
    214 void Opcode_Func_VarPtr(char *Parameter){
    215     int type;
     214void Opcode_Func_VarPtr( const char *Parameter, TYPEINFO &ReturnTypeInfo ){
    216215    RELATIVE_VAR RelativeVar;
    217216
    218217    //変数のアドレスを取得
    219     if(!GetVarOffsetReadOnly(Parameter,&type,&RelativeVar,0)) return;
     218    if(!GetVarOffsetReadOnly( Parameter, &ReturnTypeInfo.type, &RelativeVar, &ReturnTypeInfo.u.lpIndex )) return;
     219
     220    PTR_LEVEL_UP( ReturnTypeInfo.type );
    220221
    221222    SetVarPtrToReg(REG_RAX,&RelativeVar);
    222223}
    223 void Opcode_Func_GetPtrData(char *Parameter,int type){
     224void Opcode_Func_GetPtrData( const char *Parameter, const int type ){
    224225    int i2;
    225226
     
    246247}
    247248
    248 int Opcode_CallFunc(char *Parameter,int FuncNum){
     249void Opcode_CallFunc( const char *Parameter, const int FuncNum, TYPEINFO &ReturnTypeInfo ){
    249250    switch(FuncNum){
    250251        case FUNC_LEN:
    251252            Opcode_Func_Len(Parameter);
    252             return DEF_LONG;
     253            ReturnTypeInfo.type = DEF_LONG;
     254            break;
    253255        case FUNC_ADDRESSOF:
    254256            Opcode_Func_AddressOf(Parameter);
    255             return DEF_PTR_VOID;
     257            ReturnTypeInfo.type = DEF_PTR_VOID;
     258            break;
    256259        case FUNC_SIZEOF:
    257260            Opcode_Func_SizeOf(Parameter);
    258             return DEF_LONG;
     261            ReturnTypeInfo.type = DEF_LONG;
     262            break;
    259263        case FUNC_VARPTR:
    260             Opcode_Func_VarPtr(Parameter);
    261             return DEF_PTR_VOID;
     264            Opcode_Func_VarPtr( Parameter, ReturnTypeInfo );
     265            break;
    262266
    263267        case FUNC_GETDOUBLE:
    264268            Opcode_Func_GetPtrData(Parameter,DEF_DOUBLE);
    265             return DEF_DOUBLE;
     269            ReturnTypeInfo.type = DEF_DOUBLE;
     270            break;
    266271        case FUNC_GETSINGLE:
    267272            Opcode_Func_GetPtrData(Parameter,DEF_SINGLE);
    268             return DEF_SINGLE;
     273            ReturnTypeInfo.type = DEF_SINGLE;
     274            break;
    269275        case FUNC_GETQWORD:
    270276            Opcode_Func_GetPtrData(Parameter,DEF_QWORD);
    271             return DEF_QWORD;
     277            ReturnTypeInfo.type = DEF_QWORD;
     278            break;
    272279        case FUNC_GETDWORD:
    273280            Opcode_Func_GetPtrData(Parameter,DEF_DWORD);
    274             return DEF_DWORD;
     281            ReturnTypeInfo.type = DEF_DWORD;
     282            break;
    275283        case FUNC_GETWORD:
    276284            Opcode_Func_GetPtrData(Parameter,DEF_WORD);
    277             return DEF_WORD;
     285            ReturnTypeInfo.type = DEF_WORD;
     286            break;
    278287        case FUNC_GETBYTE:
    279288            Opcode_Func_GetPtrData(Parameter,DEF_BYTE);
    280             return DEF_BYTE;
    281     }
    282     return 0;
    283 }
     289            ReturnTypeInfo.type = DEF_BYTE;
     290            break;
     291    }
     292}
  • BasicCompiler64/Opcode.h

    r40 r46  
    345345private:
    346346    BOOL _overload_check(PARAMETER_INFO *ppi,int pi_num,TYPEINFO *pReturnTypeInfo,int overload_level);
    347     SUBINFO *OverloadSolutionWithReturnType(char *name,SUBINFO **ppsi,int num);
     347    SUBINFO *OverloadSolutionWithReturnType(const char *name,SUBINFO **ppsi,int num);
    348348public:
    349     SUBINFO *OverloadSolution(char *name,SUBINFO **ppsi,int num);
    350 
    351     BOOL ErrorCheck(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
     349    SUBINFO *OverloadSolution(const char *name,SUBINFO **ppsi,int num);
     350
     351    BOOL ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
    352352    void MacroParameterSupport(PARAMETER_INFO *ppi);
    353353    void SetObjectParameter(int reg,CClass *pobj_Class,LPSTR Parameter);
    354354
    355355    //一時オブジェクトパラメータの生成と破棄
    356     void NewTempParameters( char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum );
     356    void NewTempParameters( const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum );
    357357    void DeleteTempParameters();
    358358
    359     void SetParameter(char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
     359    void SetParameter(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
    360360
    361361    void BackupParameter(int pi_num);
     
    390390int GetFunctionType(int FuncNum);
    391391int GetFunctionFromName(char *FuncName);
    392 int Opcode_CallFunc(char *Parameter,int FuncNum);
     392void Opcode_CallFunc( const char *Parameter, const int FuncNum, TYPEINFO &ReturnTypeInfo );
    393393
    394394//OperatorProc.cpp
  • BasicCompiler_Common/BasicFixed.h

    r41 r46  
    5454#define NATURAL_TYPE(t) ((t)&MASK_NATURAL)
    5555#define MAKE_PTR_TYPE(t,p)  ((t)|((p)<<8))
    56 #define PTR_LEVEL_UP(t)     MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)+1)
    57 #define PTR_LEVEL_DOWN(t)   MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)-1)
     56#define PTR_LEVEL_UP(t)     t = MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)+1)
     57#define PTR_LEVEL_DOWN(t)   t = MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)-1)
    5858
    5959#define DEF_PTR_BYTE    MAKE_PTR_TYPE(DEF_BYTE,1)
  • BasicCompiler_Common/Class.cpp

    r40 r46  
    181181
    182182
    183 CClass::CClass(char *name){
     183CClass::CClass(const char *name){
    184184    memset(this,0,sizeof(CClass));
    185185
     
    316316    iStaticMethodNum++;
    317317}
    318 BOOL CClass::DupliCheckAll(char *name){
     318BOOL CClass::DupliCheckAll(const char *name){
    319319    //重複チェック
    320320
     
    333333    return 0;
    334334}
    335 BOOL CClass::DupliCheckMember(char *name){
     335BOOL CClass::DupliCheckMember(const char *name){
    336336    //重複チェック
    337337
     
    374374    return ppobj_StaticMethod[i];
    375375}
    376 bool CClass::IsExistMethod( char *name ){
     376bool CClass::IsExistMethod( const char *name ){
    377377    for( int i=0; i<iMethodNum; i++ ){
    378378        if( lstrcmp( ppobj_Method[i]->psi->name, name ) == 0 ) return true;
     
    380380    return false;
    381381}
    382 bool CClass::IsExistStaticMethod( char *name ){
     382bool CClass::IsExistStaticMethod( const char *name ){
    383383    for( int i=0; i<iStaticMethodNum; i++ ){
    384384        if( lstrcmp( ppobj_StaticMethod[i]->psi->name, name ) == 0 ) return true;
     
    538538
    539539
    540 int CDBClass::hash(char *name){
     540int CDBClass::hash(const char *name){
    541541    int key;
    542542
     
    584584}
    585585
    586 CClass *CDBClass::check(char *name){
     586CClass *CDBClass::check(const char *name){
    587587    int key;
    588588    key=hash(name);
     
    604604}
    605605
    606 CClass *CDBClass::AddClass(char *name,int NowLine){
     606CClass *CDBClass::AddClass(const char *name,int NowLine){
    607607    //////////////////////////////////////////////////////////////////////////
    608608    // クラスを追加
     
    849849}
    850850
    851 void CDBClass::GetClass_recur(char *lpszInheritsClass){
     851void CDBClass::GetClass_recur(const char *lpszInheritsClass){
    852852    extern char *basbuf;
    853853    int i,i2,i3,sub_address,top_pos;
  • BasicCompiler_Common/Class.h

    r40 r46  
    9595
    9696public:
    97     CClass(char *name);
     97    CClass(const char *name);
    9898    ~CClass();
    9999
     
    106106    void AddStaticMethod(SUBINFO *psi,DWORD dwAccess);
    107107
    108     BOOL DupliCheckAll(char *name);
    109     BOOL DupliCheckMember(char *name);
     108    BOOL DupliCheckAll(const char *name);
     109    BOOL DupliCheckMember(const char *name);
    110110
    111111    //メソッド取得
     
    114114
    115115    //メソッドの存在を確認
    116     bool IsExistMethod( char *name );
    117     bool IsExistStaticMethod( char *name );
     116    bool IsExistMethod( const char *name );
     117    bool IsExistStaticMethod( const char *name );
    118118
    119119
     
    162162#define MAX_CLASS_HASH 65535
    163163class CDBClass{
    164     int hash(char *name);
     164    int hash(const char *name);
    165165    void DestroyClass(CClass *pobj_c);
    166166public:
     
    170170    ~CDBClass();
    171171
    172     CClass *check(char *name);
    173 
    174     CClass *AddClass(char *name,int NowLine);
     172    CClass *check(const char *name);
     173
     174    CClass *AddClass(const char *name,int NowLine);
    175175
    176176    void ActionVtblSchedule(LONG_PTR ImageBase, LONG_PTR MemPos_CodeSection);
     
    182182public:
    183183    void InitNames(void);
    184     void GetClass_recur(char *lpszInheritsClass);
     184    void GetClass_recur(const char *lpszInheritsClass);
    185185    void GetObjectClassInfo(void);
    186186
  • BasicCompiler_Common/Overload.cpp

    r36 r46  
    4646}
    4747
    48 SUBINFO *OverloadSolution(char *name,SUBINFO **ppsi,int num,PARAMETER_INFO *ppi,int ParmNum,TYPEINFO *pReturnTypeInfo){
     48SUBINFO *OverloadSolution(const char *name,SUBINFO **ppsi,int num,PARAMETER_INFO *ppi,int ParmNum,TYPEINFO *pReturnTypeInfo){
    4949    // オーバーロードの解決
    5050
  • BasicCompiler_Common/Subroutine.cpp

    r40 r46  
    6464}
    6565
    66 void SplitObjectName(char *name,char *ObjectName,int *pRefType){
     66void SplitObjectName(const char *name,char *ObjectName,int *pRefType){
    6767    int i4;
    6868    for(i4=lstrlen(name)-1;i4>=0;i4--){
  • BasicCompiler_Common/TypeDef.cpp

    r4 r46  
    55
    66
    7 CTypeDef::CTypeDef(char *name,char *base){
     7CTypeDef::CTypeDef(const char *name,char *base){
    88    lpszName=(char *)malloc(lstrlen(name)+1);
    99    lstrcpy(lpszName,name);
     
    3232    iNum=0;
    3333}
    34 void CDBTypeDef::add(char *name,char *base){
     34void CDBTypeDef::add(const char *name,char *base){
    3535    ppobj_TypeDef=(CTypeDef **)realloc(ppobj_TypeDef,(iNum+1)*sizeof(CTypeDef *));
    3636    ppobj_TypeDef[iNum]=new CTypeDef(name,base);
     
    6565    }
    6666}
    67 int CDBTypeDef::check(char *name){
     67int CDBTypeDef::check(const char *name){
    6868    int i;
    6969    for(i=0;i<iNum;i++){
  • BasicCompiler_Common/TypeDef.h

    r4 r46  
    44    char *lpszName;
    55    char *lpszBaseName;
    6     CTypeDef(char *name,char *base);
     6    CTypeDef(const char *name,char *base);
    77    ~CTypeDef();
    88};
     
    1717    void init();
    1818
    19     void add(char *name,char *base);
    20     int check(char *name);
     19    void add(const char *name,char *base);
     20    int check(const char *name);
    2121};
    2222extern CDBTypeDef *pobj_DBTypeDef;
  • BasicCompiler_Common/Variable.cpp

    r40 r46  
    160160    return MAKE_PTR_TYPE(NATURAL_TYPE(type),PTR_LEVEL(type)+1);
    161161}
    162 int GetTypeFixed(char *TypeName,LONG_PTR *lpNum){
     162int GetTypeFixed(const char *TypeName,LONG_PTR *lpNum){
    163163    int type;
    164164
  • BasicCompiler_Common/Variable.h

    r40 r46  
    1313int GetTypeSize(int type,LONG_PTR lpIndex);
    1414int GetPtrType(int type,LONG_PTR lpIndex);
    15 int GetTypeFixed(char *TypeName,LONG_PTR *lpNum);
     15int GetTypeFixed(const char *TypeName,LONG_PTR *lpNum);
    1616void GetOriginalTypeName(char *buffer);
    1717BOOL GetTypeName(int type,LONG_PTR lpIndex,char *name);
  • BasicCompiler_Common/common.h

    r45 r46  
    415415CONSTINFO *GetConstHash(char *name);
    416416DECLAREINFO *GetDeclareHash(char *name);
    417 SUBINFO *GetSubHash(char *name,BOOL bError=0);
     417SUBINFO *GetSubHash(const char *name,BOOL bError=0);
    418418SUBINFO *GetMethodHash(char *ObjectName,char *MethodName,char *Parameter,BOOL bError=0);
    419419SUBINFO **GetOverloadObjectSubHash(char *name,CClass *pobj_c, int *pNum);
    420 SUBINFO **GetOverloadSubHash(char *name,int *pNum);
     420SUBINFO **GetOverloadSubHash(const char *name,int *pNum);
    421421
    422422//Object.cpp
     
    428428//Overload.sbp
    429429SUBINFO *OverloadSolutionWithStrParam(char *name,SUBINFO **ppsi,int num,char *Parameter,char *ObjectName,TYPEINFO *pReturnTypeInfo);
    430 SUBINFO *OverloadSolution(char *name,SUBINFO **ppsi,int num,PARAMETER_INFO *ppi,int ParmNum,TYPEINFO *pReturnTypeInfo);
     430SUBINFO *OverloadSolution(const char *name,SUBINFO **ppsi,int num,PARAMETER_INFO *ppi,int ParmNum,TYPEINFO *pReturnTypeInfo);
    431431
    432432//Debug.cpp
     
    548548int GetCallProcName(char *buffer,char *name);
    549549int GetProc(char *name,void **ppInfo);
    550 void SplitObjectName(char *name,char *ObjectName,int *pRefType);
     550void SplitObjectName(const char *name,char *ObjectName,int *pRefType);
    551551bool SplitMemberName( const char *desc, char *object, char *member );
    552552int GetReturnTypeOfProc(int idProc,void *pInfo,char *name,char *Parameter,LONG_PTR *plpRetIndex);
     
    578578void SetError(int ErrorNum,const char *KeyWord,int pos);
    579579void CompileMessage(char *buffer);
    580 bool CheckDifferentType(int VarType,LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,char *pszFuncName,int ParmNum);
     580bool CheckDifferentType(const int VarType,const LONG_PTR lpVarIndex,const int CalcType,const LONG_PTR lpCalcIndex,const char *pszFuncName,const int ParmNum);
    581581
    582582//Compile.cpp
  • BasicCompiler_Common/error.cpp

    r45 r46  
    364364
    365365#define STRING_SYSTEM_DECLAREHANDLE "*_System_DeclareHandle_"
    366 void DifferentTypeError(int VarType,LONG_PTR VarIndex,int CalcType,LONG_PTR CalcIndex,int iWarning,char *pszFuncName,int ParmNum){
     366void DifferentTypeError(const int VarType,LONG_PTR VarIndex,const int CalcType,LONG_PTR CalcIndex,const int iWarning,const char *pszFuncName,const int ParmNum){
    367367    //////////////////////////
    368368    // キャストに関する警告
     
    396396}
    397397
    398 bool CheckDifferentType(int VarType,LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,char *pszFuncName,int ParmNum){
     398bool CheckDifferentType(const int VarType,const LONG_PTR lpVarIndex,int CalcType,const LONG_PTR lpCalcIndex,const char *pszFuncName,const int ParmNum){
    399399
    400400    if(VarType==DEF_OBJECT||CalcType==DEF_OBJECT){
  • BasicCompiler_Common/hash.cpp

    r31 r46  
    7777}
    7878
    79 SUBINFO **GetOverloadSubHash(char *lpszName,int *pNum){
     79SUBINFO **GetOverloadSubHash( const char *lpszName, int *pNum ){
    8080    extern SUBINFO *pSubInfo;
    8181    extern int SubInfoNum;
     
    225225
    226226//オーバーロードされていない関数を取得(昔のコンパイラソースコードとの互換性保持)
    227 SUBINFO *GetSubHash(char *lpszName,BOOL bError){
     227SUBINFO *GetSubHash(const char *lpszName,BOOL bError){
    228228    int num;
    229229    SUBINFO **ppsi,*psi;
Note: See TracChangeset for help on using the changeset viewer.