summaryrefslogtreecommitdiff
path: root/includes/compiler/CDecl.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/compiler/CDecl.h')
-rw-r--r--includes/compiler/CDecl.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/includes/compiler/CDecl.h b/includes/compiler/CDecl.h
index e4537f8..97501fa 100644
--- a/includes/compiler/CDecl.h
+++ b/includes/compiler/CDecl.h
@@ -10,12 +10,12 @@
#endif
// named because it's 0xE bytes big (hurr)
-struct DeclE {
+struct ClassLayout {
ObjBase **objlist;
ObjMemberVar *vtable_ivar;
- unsigned short x8; // lex_order_count?
- unsigned short xA;
- Boolean xC;
+ UInt16 lex_order_count;
+ UInt16 xA;
+ Boolean has_vtable;
};
// what the fuck am I?
@@ -41,8 +41,7 @@ struct DeclInfo {
DeclFucker *fucker34;
TemplateFunction *x38;
UInt8 x3C; // related to template nindex
- Boolean x3D;
- short x3E;
+ short operator_token; // when an operator name like "operator +" is scanned, this is the token
short storageclass;
UInt8 section;
UInt8 exportflags;
@@ -54,9 +53,9 @@ struct DeclInfo {
Boolean x49;
Boolean x4A; // objc related
Boolean x4B;
- Boolean x4C;
+ Boolean in_friend_decl; // set to 1 when parsing a 'friend' declaration
Boolean x4D;
- Boolean x4E; // is_extern_c?
+ Boolean is_extern_c;
Boolean x4F;
Boolean x50;
Boolean x51;
@@ -66,10 +65,9 @@ struct DeclInfo {
Boolean x55;
Boolean x56;
Boolean x57;
- //FileOffsetInfo fileoffsetinfo;
CPrepFileInfo *file;
CPrepFileInfo *file2;
- SInt32 x60; // file offset?
+ SInt32 sourceoffset;
Boolean x64;
};
@@ -125,7 +123,7 @@ extern void CDecl_CheckCtorIntegrity(FuncArg *args, TypeClass *tclass);
extern void CDecl_MakeVBaseList(TypeClass *tclass);
extern Boolean CDecl_CheckNewBase(TypeClass *tclass, TypeClass *baseclass, Boolean is_virtual);
extern TypeMemberFunc *CDecl_MakeDefaultDtorType(TypeClass *tclass, Boolean is_virtual);
-extern void CDecl_CompleteClass(DeclE *decle, TypeClass *tclass);
+extern void CDecl_CompleteClass(ClassLayout *layout, TypeClass *tclass);
extern TypeClass *CDecl_DefineClass(NameSpace *nspace, HashNameNode *name, TypeClass *tclass, short mode, Boolean flag2, Boolean flag3);
extern void CDecl_ParseClassDeclSpec(UInt8 *declspec);
extern void CDecl_ParseClass(DeclInfo *declinfo, short mode, Boolean flag1, UInt8 class_declspec);