Changeset 73 in dev for BasicCompiler_Common/common.h
- Timestamp:
- Mar 16, 2007, 11:07:14 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler_Common/common.h
r71 r73 155 155 #include "Parameter.h" 156 156 157 // プロシージャ管理用のクラス 158 #include "Procedure.h" 159 157 160 158 161 … … 229 232 }; 230 233 231 #define SUBTYPE_SUB 1232 #define SUBTYPE_FUNCTION 2233 #define SUBTYPE_MACRO 3234 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 };282 234 #define DECLARE_DYNAMIC 1 283 235 #define DECLARE_STATIC 2 … … 435 387 CONSTINFO *GetConstHash(char *name); 436 388 DECLAREINFO *GetDeclareHash(char *name); 437 S UBINFO*GetSubHash(const char *name,BOOL bError=0);438 S UBINFO*GetMethodHash(char *ObjectName,char *MethodName,char *Parameter,BOOL bError=0);439 void GetOverloadSubHash( const char *lpszName, std::vector<S UBINFO*> &subs );389 SubInfo *GetSubHash(const char *name,BOOL bError=0); 390 SubInfo *GetMethodHash(char *ObjectName,char *MethodName,char *Parameter,BOOL bError=0); 391 void GetOverloadSubHash( const char *lpszName, std::vector<SubInfo *> &subs ); 440 392 441 393 //Object.cpp … … 444 396 445 397 //Overload.sbp 446 S UBINFO*OverloadSolutionWithStrParam(398 SubInfo *OverloadSolutionWithStrParam( 447 399 const char *name, 448 std::vector<S UBINFO*> &subs,400 std::vector<SubInfo *> &subs, 449 401 const char *Parameter, 450 402 const char *ObjectName, 451 403 TYPEINFO *pReturnTypeInfo); 452 S UBINFO*OverloadSolution(404 SubInfo *OverloadSolution( 453 405 const char *name, 454 std::vector<S UBINFO*> &subs,406 std::vector<SubInfo *> &subs, 455 407 const PARAMETER_INFO *ppi, 456 408 const int ParmNum, … … 464 416 void Debugger_Pause(void); 465 417 ULONG_PTR rva_to_real(DWORD p); 466 S UBINFO*GetSubFromObp(ULONG_PTR pos);418 SubInfo *GetSubFromObp(ULONG_PTR pos); 467 419 void ReadOpBuffer(); 468 420 void DebugProgram(void); … … 561 513 DWORD GetConstValue(char *name,double *dbl,char *buffer,LONG_PTR *plpIndex); 562 514 bool IsStringObjectType(const TYPEINFO &TypeInfo); 563 BOOL IsStringSubsituation(CClass *pobj_c);564 515 int IsStrCalculation(char *Command); 565 516 BYTE GetCalcId(const char *Command,int *pi); … … 567 518 char *values[255],long calc[255],long stack[255]); 568 519 569 //NumOpe_GetType .cpp520 //NumOpe_GetType_Old.cpp 570 521 int AutoBigCast(int BaseType,int CalcType); 571 522 BOOL CheckCalcType(int idCalc,int *type,int sp); 572 int NumOpe_GetType(char *Command,TYPEINFO *pBaseType,LONG_PTR *plpIndex); 523 int NumOpe_GetType_Old( const char *Command, TYPEINFO *pBaseTypeInfo, LONG_PTR *plpIndex ); 524 bool NumOpe_GetType( const char *expression, const Type &baseType, Type &resultType ); 573 525 574 526 //Subroutine.cpp … … 583 535 bool GetReturnTypeOfIndexerGetterProc(CClass *pobj_Class,TYPEINFO &RetTypeInfo); 584 536 BOOL CompareParameter(PARAMETER_INFO *ppi1,int pi_num1,PARAMETER_INFO *ppi2,int pi_num2); 585 S UBINFO*AddSubData(char *buffer,int NowLine,BOOL bVirtual,CClass *pobj_c,BOOL bStatic=0);537 SubInfo *AddSubData(char *buffer,int NowLine,BOOL bVirtual,CClass *pobj_c,BOOL bStatic=0); 586 538 void GetSubInfo(void); 587 void DeleteSubInfo(S UBINFO**ppSubHash,char **ppMacroNames,int MacroNum);539 void DeleteSubInfo(SubInfo **ppSubHash,char **ppMacroNames,int MacroNum); 588 540 void DeleteDeclareInfo(void); 589 541 int AddProcPtrInfo(char *buffer,DWORD dwProcType);
Note:
See TracChangeset
for help on using the changeset viewer.