diff options
author | Ash Wolf <ninji@wuffs.org> | 2022-12-29 12:32:55 +0000 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2022-12-29 12:32:55 +0000 |
commit | fcfbafff31869ed808bff0639532db1828660e92 (patch) | |
tree | 7425b346b031c4cb47a06250b3f6f950374d44ae /includes/compiler/CSOM.h | |
parent | bc1321735c15104ffad195e1509cab5f3a044260 (diff) | |
download | MWCC-fcfbafff31869ed808bff0639532db1828660e92.tar.gz MWCC-fcfbafff31869ed808bff0639532db1828660e92.zip |
dump lots more code
Diffstat (limited to '')
-rw-r--r-- | includes/compiler/CSOM.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/includes/compiler/CSOM.h b/includes/compiler/CSOM.h index 560993b..36c3ae7 100644 --- a/includes/compiler/CSOM.h +++ b/includes/compiler/CSOM.h @@ -2,5 +2,42 @@ #define COMPILER_CSOM_H #include "compiler/common.h" +#include "compiler/som.h" + +#ifdef __MWERKS__ +#pragma options align=mac68k +#endif +typedef struct CSOMStub { + struct CSOMStub *next; + Object *object; + TypeClass *tclass; + SInt32 offset; + UInt8 x10; +} CSOMStub; +#ifdef __MWERKS__ +#pragma options align=reset +#endif + +extern CSOMStub *csom_stubs; + +extern void CSOM_Setup(Boolean flag); +extern void CSOM_Cleanup(void); +extern void CSOM_CheckFuncType(TypeFunc *tfunc); +extern void CSOM_MakeSOMClass(TypeClass *tclass); +extern void CSOM_ClassComplete(TypeClass *tclass); +extern void CSOM_GenerateClassStructures(TypeClass *tclass); +extern void CSOM_PragmaReleaseOrder(void); +extern void CSOM_PragmaClassVersion(void); +extern void CSOM_PragmaMetaClass(void); +extern void CSOM_PragmaCallStyle(void); +extern void CSOM_FixNewDeleteFunctype(TypeFunc *tfunc); +extern ENode *CSOM_New(TypeClass *tclass); +extern ENode *CSOM_Delete(TypeClass *tclass, ENode *objExpr); +extern void CSOM_InitAutoClass(Object *object); +extern ENode *CSOM_SOMSelfObjectExpr(TypeClass *tclass); +extern void CSOM_InitSOMSelf(TypeClass *tclass, Statement *stmt); +extern ENode *CSOM_EnvCheck(ENode *funccall, ENodeList *checkArg); +extern ENode *CSOM_MemberVarAccess(BClassList *path, ObjMemberVar *ivar, ENode *thisExpr); +extern ENode *CSOM_MethodAccess(BClassList *path, Object *func, Boolean flag); #endif |