diff options
author | Ash Wolf <ninji@wuffs.org> | 2023-01-10 11:05:21 +0000 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2023-01-10 11:05:21 +0000 |
commit | aec1b8dddc68ecb8288ec6132932e4c7b4bca09f (patch) | |
tree | 8138328fe43bcc5fff690dc60caac79aa570ab2b /includes/compiler/CClass.h | |
parent | fcfbafff31869ed808bff0639532db1828660e92 (diff) | |
download | MWCC-aec1b8dddc68ecb8288ec6132932e4c7b4bca09f.tar.gz MWCC-aec1b8dddc68ecb8288ec6132932e4c7b4bca09f.zip |
getting close to done
Diffstat (limited to '')
-rw-r--r-- | includes/compiler/CClass.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/includes/compiler/CClass.h b/includes/compiler/CClass.h index 083588c..bb952de 100644 --- a/includes/compiler/CClass.h +++ b/includes/compiler/CClass.h @@ -7,21 +7,21 @@ #pragma options align=mac68k #endif -typedef struct VTableObjectLink { +/*typedef struct VTableObjectLink { struct VTableObjectLink *next; Object *methodobj; SInt32 offset; SInt32 xC; -} VTableObjectLink; +} VTableObjectLink;*/ extern void CClass_Init(void); extern void CClass_GenThunks(void); extern UInt8 CClass_GetOverrideKind(TypeFunc *a, TypeFunc *b, Boolean errorflag); extern Boolean CClass_IsEmpty(TypeClass *tclass); -extern Boolean CClass_IsNonStaticMemberFunc(TypeMethod *tmethod); +extern Boolean CClass_IsNonStaticMemberFunc(TypeFunc *tfunc); extern Object *CClass_DefaultConstructor(TypeClass *tclass); extern Object *CClass_DummyDefaultConstructor(TypeClass *tclass); -extern ENode *CClass_DefaultConstructorCall(TypeClass *a, TypeClass *b, ENode *expr, SInt32 unkshortparam, Boolean flag1, Boolean flag2, Boolean *errorflag); +extern ENode *CClass_DefaultConstructorCall(TypeClass *tclass, TypeClass *b, ENode *objexpr, SInt32 varg, Boolean flag1, Boolean flag2, Boolean *errorflag); extern Object *CClass_AssignmentOperator(TypeClass *tclass); extern Object *CClass_CopyConstructor(TypeClass *tclass); extern NameSpaceObjectList *CClass_MemberObject(TypeClass *tclass, HashNameNode *name); @@ -34,19 +34,19 @@ extern Boolean CClass_IsTrivialCopyClass(TypeClass *tclass); extern Boolean CClass_IsTrivialCopyAssignClass(TypeClass *tclass); extern Boolean CClass_ReferenceArgument(TypeClass *tclass); extern BClassList *CClass_GetPathCopy(BClassList *path, Boolean is_global); -extern BClassList *CClass_AppendPath(BClassList *a, BClassList *b); +extern BClassList *CClass_AppendPath(BClassList *dest, BClassList *src); extern Boolean CClass_IsMoreAccessiblePath(BClassList *path1, BClassList *path2); extern BClassList *CClass_GetBasePath(TypeClass *a, TypeClass *b, short *founddepth, Boolean *isambigbase); extern Boolean CClass_IsBaseClass(TypeClass *a, TypeClass *b, short *founddepth, Boolean pathcheckflag, Boolean ambigerrorflag); extern TypeClass *CClass_GetQualifiedClass(void); -extern ENode *CClass_AccessPathCast(BClassList *path, ENode *expr, Boolean flag); +extern ENode *CClass_AccessPathCast(BClassList *path, ENode *expr, Boolean reverse); extern ENode *CClass_ClassPointerCast(ENode *expr, TypeClass *a, TypeClass *b, Boolean typconflag, Boolean ambigerrorflag, Boolean pathcheckflag); extern ENode *CClass_DirectBasePointerCast(ENode *expr, TypeClass *a, TypeClass *b); extern SInt32 CClass_GetPathOffset(BClassList *path); -extern Boolean CClass_ClassDominates(TypeClass *a, TypeClass *b); -extern SInt32 CClass_VirtualBaseOffset(TypeClass *a, TypeClass *b); -extern SInt32 CClass_VirtualBaseVTableOffset(TypeClass *a, TypeClass *b); -extern SInt32 CClass_GetMemberOffset(TypeClass *tclass, HashNameNode *name, ObjMemberVar **obj); +extern Boolean CClass_ClassDominates(TypeClass *tclass, TypeClass *baseclass); +extern SInt32 CClass_VirtualBaseOffset(TypeClass *tclass, TypeClass *baseclass); +extern SInt32 CClass_VirtualBaseVTableOffset(TypeClass *tclass, TypeClass *baseclass); +extern SInt32 CClass_GetMemberOffset(TypeClass *tclass, HashNameNode *name, ObjMemberVar **resultIvar); extern Boolean CClass_OverridesBaseMember(TypeClass *tclass, HashNameNode *name, Object *obj); extern void CClass_DefineCovariantFuncs(Object *method, CI_FuncData *ifuncdata); extern void CClass_CheckOverrides(TypeClass *tclass); |