Changeset 73 in dev for BasicCompiler_Common/common.h


Ignore:
Timestamp:
Mar 16, 2007, 11:07:14 PM (18 years ago)
Author:
dai_9181
Message:

Parameterクラスを適用。32bit側は動くようになったので、64bitのほうを調整する。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/common.h

    r71 r73  
    155155#include "Parameter.h"
    156156
     157// プロシージャ管理用のクラス
     158#include "Procedure.h"
     159
    157160
    158161
     
    229232};
    230233
    231 #define SUBTYPE_SUB         1
    232 #define SUBTYPE_FUNCTION    2
    233 #define SUBTYPE_MACRO       3
    234 struct SUBINFO{
    235     DWORD dwType;
    236 
    237     //クラス情報
    238     CClass *pobj_ParentClass;
    239 
    240     long id;
    241 
    242     char *name;
    243     long address;
    244 
    245     //パラメータ
    246     PARAMETER_INFO *pParmInfo;
    247     int ParmNum;
    248     int SecondParmNum;
    249     PARAMETER_INFO *pRealParmInfo;
    250     int RealParmNum;
    251     int RealSecondParmNum;
    252 
    253     /*
    254     //パラメータ
    255     Parameters params;
    256     int SecondParmNum;
    257     Parameters realParams;
    258     int RealSecondParmNum;*/
    259 
    260     //戻り値
    261     int ReturnType;
    262     union{
    263         LONG_PTR ReturnIndex;
    264         CClass *Return_pobj_c;
    265     }u;
    266     bool isReturnRef;
    267 
    268     DWORD CompileAddress;
    269     DWORD EndOpAddr;
    270     VARIABLE *pVar;
    271     int VarNum;
    272 
    273     BOOL bExport;
    274     BOOL bCdecl;
    275     BOOL bVirtual;
    276     BOOL bUse;
    277     BOOL bCompile;
    278     BOOL bSystem;
    279 
    280     SUBINFO *pNextData;
    281 };
    282234#define DECLARE_DYNAMIC 1
    283235#define DECLARE_STATIC  2
     
    435387CONSTINFO *GetConstHash(char *name);
    436388DECLAREINFO *GetDeclareHash(char *name);
    437 SUBINFO *GetSubHash(const char *name,BOOL bError=0);
    438 SUBINFO *GetMethodHash(char *ObjectName,char *MethodName,char *Parameter,BOOL bError=0);
    439 void GetOverloadSubHash( const char *lpszName, std::vector<SUBINFO *> &subs );
     389SubInfo *GetSubHash(const char *name,BOOL bError=0);
     390SubInfo *GetMethodHash(char *ObjectName,char *MethodName,char *Parameter,BOOL bError=0);
     391void GetOverloadSubHash( const char *lpszName, std::vector<SubInfo *> &subs );
    440392
    441393//Object.cpp
     
    444396
    445397//Overload.sbp
    446 SUBINFO *OverloadSolutionWithStrParam(
     398SubInfo *OverloadSolutionWithStrParam(
    447399    const char *name,
    448     std::vector<SUBINFO *> &subs,
     400    std::vector<SubInfo *> &subs,
    449401    const char *Parameter,
    450402    const char *ObjectName,
    451403    TYPEINFO *pReturnTypeInfo);
    452 SUBINFO *OverloadSolution(
     404SubInfo *OverloadSolution(
    453405    const char *name,
    454     std::vector<SUBINFO *> &subs,
     406    std::vector<SubInfo *> &subs,
    455407    const PARAMETER_INFO *ppi,
    456408    const int ParmNum,
     
    464416void Debugger_Pause(void);
    465417ULONG_PTR rva_to_real(DWORD p);
    466 SUBINFO *GetSubFromObp(ULONG_PTR pos);
     418SubInfo *GetSubFromObp(ULONG_PTR pos);
    467419void ReadOpBuffer();
    468420void DebugProgram(void);
     
    561513DWORD GetConstValue(char *name,double *dbl,char *buffer,LONG_PTR *plpIndex);
    562514bool IsStringObjectType(const TYPEINFO &TypeInfo);
    563 BOOL IsStringSubsituation(CClass *pobj_c);
    564515int IsStrCalculation(char *Command);
    565516BYTE GetCalcId(const char *Command,int *pi);
     
    567518                       char *values[255],long calc[255],long stack[255]);
    568519
    569 //NumOpe_GetType.cpp
     520//NumOpe_GetType_Old.cpp
    570521int AutoBigCast(int BaseType,int CalcType);
    571522BOOL CheckCalcType(int idCalc,int *type,int sp);
    572 int NumOpe_GetType(char *Command,TYPEINFO *pBaseType,LONG_PTR *plpIndex);
     523int NumOpe_GetType_Old( const char *Command, TYPEINFO *pBaseTypeInfo, LONG_PTR *plpIndex );
     524bool NumOpe_GetType( const char *expression, const Type &baseType, Type &resultType );
    573525
    574526//Subroutine.cpp
     
    583535bool GetReturnTypeOfIndexerGetterProc(CClass *pobj_Class,TYPEINFO &RetTypeInfo);
    584536BOOL CompareParameter(PARAMETER_INFO *ppi1,int pi_num1,PARAMETER_INFO *ppi2,int pi_num2);
    585 SUBINFO *AddSubData(char *buffer,int NowLine,BOOL bVirtual,CClass *pobj_c,BOOL bStatic=0);
     537SubInfo *AddSubData(char *buffer,int NowLine,BOOL bVirtual,CClass *pobj_c,BOOL bStatic=0);
    586538void GetSubInfo(void);
    587 void DeleteSubInfo(SUBINFO **ppSubHash,char **ppMacroNames,int MacroNum);
     539void DeleteSubInfo(SubInfo **ppSubHash,char **ppMacroNames,int MacroNum);
    588540void DeleteDeclareInfo(void);
    589541int AddProcPtrInfo(char *buffer,DWORD dwProcType);
Note: See TracChangeset for help on using the changeset viewer.