summaryrefslogtreecommitdiff
path: root/includes/compiler/CClass.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2023-01-10 11:05:21 +0000
committerAsh Wolf <ninji@wuffs.org>2023-01-10 11:05:21 +0000
commitaec1b8dddc68ecb8288ec6132932e4c7b4bca09f (patch)
tree8138328fe43bcc5fff690dc60caac79aa570ab2b /includes/compiler/CClass.h
parentfcfbafff31869ed808bff0639532db1828660e92 (diff)
downloadMWCC-aec1b8dddc68ecb8288ec6132932e4c7b4bca09f.tar.gz
MWCC-aec1b8dddc68ecb8288ec6132932e4c7b4bca09f.zip
getting close to done
Diffstat (limited to '')
-rw-r--r--includes/compiler/CClass.h20
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);