#include "compiler/CInline.h" #include "compiler/CFunc.h" static CInlineCopyMode enode_copymode; static Boolean enode_globalcopy; static void *enode_idtrans; // type? static void *local_dobjects; // type? static void *local_aobjects; // type? static CI_Var *loc_args; static CI_Var *loc_vars; static Boolean inline_expanded; static Boolean any_inline_expanded; static short cinline_level; static void *cinline_label_trans; // type? static Statement *cinline_first_stmt; static void *cinline_stmtlevelexpr[16]; // type? static short cinline_stmtlevelexprs; static Boolean cinline_unconditionalpart; static Boolean cinline_serialize_stmt; static void *cinline_exportlist; // type? static CI_Action *cinline_actionlist; CI_Action *cinline_tactionlist; static ObjectList *cinline_freflist; static Boolean cinline_gendeps; static Statement *cinline_serial_stmt; static Statement *cinline_cur_serial_stmt; static void *cinline_uid_temps; // type? static Boolean cinline_has_sideeffect; static SInt32 inline_max_size; static Boolean recursive_inline; static Object *expanding_function; static Boolean cinline_funccallfound; void CInline_Init(void) {} static ENode *CInline_MakeNotNot(ENode *expr) {} static ENode *CInline_FoldConst(ENode *expr) {} SInt32 CInline_GetLocalID(Object *obj) {} static Boolean CInline_IsTrivialExpression(ENode *expr) {} Boolean CInline_ExpressionHasSideEffect(ENode *expr) {} static ENode *CInline_CopyExpressionSave(ENode *expr) {} static SInt32 CInline_TranslateID(SInt32 id) {} static SInt32 CInline_GetLabelStatementNumber(HashNameNode *name) {} static ENodeList *CInline_CopyNodeList(ENodeList *list) {} static EMemberInfo *CInline_CopyEMemberInfo(EMemberInfo *mi) {} static ENode *CInline_CopyNodes(ENode *node) {} static void CInline_CheckUsage(ENode *expr, Boolean flag) {} ENode *CInline_CopyExpression(ENode *expr, CInlineCopyMode mode) {} static UInt8 CInline_GetObjectSFlags(Object *obj) {} static void CInline_SetObjectSFlags(Object *obj, UInt8 sflags) {} static Object *CInline_NewLocalObject(Type *type, short qual, UInt8 sflags) {} static ENode *CInline_FuncArgConvert(ENode *expr) {} static ENode *CInline_RefArgTransform(ENode *expr, Boolean flag) {} static ENode *CInline_SetupArgsExpression(Object *obj, CI_FuncData *data, ENodeList *list) {} static void CInline_ReturnCheckCB(/* there should be args here */) {} static ENode *CInline_ReturnCheck(ENode *expr) {} static ENode *CInline_ReturnMemResult(void) {} static ENode *CInline_InlineFunctionExpression(ENode *expr) {} static Boolean CInline_CanExpand(ENode *expr) {} static SInt32 CInline_EstimateSizeOfExpr(ENode *expr, SInt32 a, SInt32 b) {} static SInt32 CInline_EstimateSizeOfFunc(CI_FuncData *funcdata, SInt32 a, SInt32 b) {} static SInt32 EstimateExpandedSizeOfExpr(ENode *expr, SInt32 b) {} static SInt32 EstimateExpandedSizeOfFunction(Statement *stmt) {} static Boolean CInline_InlineFunctionCheck(ENode *expr) {} static ENode *CInline_ExpandExpression(ENode *expr) {} static Statement *CInline_NewStatement(StatementType sttype) {} static ENode *CInline_LoadToTemp(ENode *expr, Object **obj) {} static ENode *CInline_SerializeEFORCELOAD(ENode *expr) {} static ENode *CInline_SerializeECOMMA(ENode *expr) {} static ENode *CInline_SerializeELOR(ENode *expr) {} static ENode *CInline_SerializeELAND(ENode *expr) {} static ENode *CInline_SerializeEPRECOMP(ENode *expr) {} static ENode *CInline_SerializeENULLCHECK(ENode *expr) {} static ENode *CInline_SerializeECOND(ENode *expr) {} static ENode *CInline_SerializeExpr(ENode *expr) {} void CInline_SerializeStatement(Statement *stmt) {} static void CInline_UnpackSwitch(Statement *stmt, CI_Statement *packed, CLabel **labels) {} Object *CInline_GetLocalObj(SInt32 id, Boolean flag) {} static ExceptionAction *CInline_UnpackActions(CI_Statement *packed, Boolean flag) {} static Statement *CInline_ExpandStatements(Object *obj, Statement *stmt, CI_FuncData *data, ENode *expr, CLabel *label, Object *obj2, Boolean flag) {} static Statement *CInline_InlineFunctionStatement(Statement *stmt, Boolean *success) {} static Statement *CInline_ExtractInlineFunction(Statement *stmt) {} static Statement *CInline_ExpandStatement(Statement *stmt) {} static void CInline_ForceReverseSearch(ENode *) {} static ENode *CInline_ForceReverseEvaluation(ENode *expr) {} static void CInline_ExportCheck(ENode *expr) {} static void CInline_Expand(Statement *stmt) {} SInt16 CInline_GetStatementNumber(Statement *first, Statement *stmt) {} static CI_Switch *CInline_PackSwitch(Statement *s1, Statement *s2) {} static Boolean CInline_CanInline(Object *obj, Statement *stmt) {} static ExceptionAction *CInline_PackActions(Statement *s1, Statement *s2) {} void CInline_PackIFunctionData(CI_FuncData *packed, Statement *stmt, Object *obj) {} void CInline_UnpackIFunctionData(Object *obj, CI_FuncData *packed, Statement *stmt) {} static void CInline_GenIFunctionCode(Object *obj, CI_FuncData *func, UInt8 unk) {} void CInline_AddDefaultFunctionAction(Object *obj) {} void CInline_AddInlineFunctionAction(Object *obj, TypeClass *tclass, FileOffsetInfo *fileoffset, TStream *stream, Boolean flag) {} void CInline_AddMemberFunctionAction(Object *obj, Type *a, Type *b, TemplateMember *tmemb) {} void CInline_AddTemplateFunctionAction(Object *obj, TemplateFunction *func, TemplFuncInstance *inst) {} static void CInline_AddFRefList_Object(Object *obj) {} static void CInline_AddFRefList_ExAction(ExceptionAction *exc) {} static void CInline_AddFRefList_ExprCB(ENode *expr) {} static void CInline_AddFRefList_Expr(ENode *expr) {} static void CInline_AddFRefList_Statement(Statement *stmt) {} static void CInline_AddFRefList_InlineFunc(CI_FuncData *data) {} static void CInline_GenerateTemplateInline(Object *obj) {} void CInline_ObjectAddrRef(Object *obj) {} static Boolean CInline_CheckDependencies(ObjectList *list) {} static Boolean CInline_IsSmallFunction(Object *obj, Statement *stmt) {} static Boolean CInline_NoFPLocals(void) {} void CInline_GenFunc(Statement *stmt, Object *obj, UInt8 unk) {} static void CInline_GenerateDefaultFunc(Object *obj) {} static TemplClassInst *CInline_FindNestedTemplInst(TemplClassInst *inst) {} static void CInline_GenerateInlineFunc(CI_Action *action) {} Boolean CInline_CanFreeLHeap(void) {} Boolean CInline_GenerateDeferredFuncs(void) {} static InitExpr *CInline_InitTemplateData(InitExpr *init) {} void CInline_Finish(void) {}