summaryrefslogtreecommitdiff
path: root/includes/compiler/objects.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2022-11-07 03:06:21 +0000
committerAsh Wolf <ninji@wuffs.org>2022-11-07 03:06:21 +0000
commit9a46dd0e2e80790d9848c0bbd718932a27c23269 (patch)
treee7a8e976c7138d50a69ff4778c4e8572efd94452 /includes/compiler/objects.h
parentd0b9848c54e6f85ab713f059dcd1ddef7e57caa6 (diff)
downloadMWCC-9a46dd0e2e80790d9848c0bbd718932a27c23269.tar.gz
MWCC-9a46dd0e2e80790d9848c0bbd718932a27c23269.zip
honk
Diffstat (limited to '')
-rw-r--r--includes/compiler/objects.h45
1 files changed, 43 insertions, 2 deletions
diff --git a/includes/compiler/objects.h b/includes/compiler/objects.h
index 32552ec..5f01d26 100644
--- a/includes/compiler/objects.h
+++ b/includes/compiler/objects.h
@@ -47,7 +47,7 @@ struct ObjType {
ObjectType otype;
AccessType access;
Type *type;
- void *unk6;
+ UInt32 qual;
};
@@ -184,6 +184,25 @@ struct Object {
} u;
};
+enum {
+ OBJECT_FLAGS_UNUSED = 1,
+ OBJECT_FLAGS_2 = 2,
+ OBJECT_FLAGS_4 = 4,
+ OBJECT_FLAGS_8 = 8,
+ OBJECT_FLAGS_10 = 0x10, // internal
+ OBJECT_FLAGS_20 = 0x20, // import
+ OBJECT_FLAGS_40 = 0x40, // export
+ OBJECT_FLAGS_60 = 0x60 // lib export
+};
+
+enum {
+ OBJECT_SCLASS_101 = 0x101,
+ OBJECT_SCLASS_102 = 0x102,
+ OBJECT_SCLASS_103 = 0x103,
+ OBJECT_SCLASS_104 = 0x104,
+ OBJECT_SCLASS_12B = 0x12B
+};
+
#define OBJ_BASE(obj) ((ObjBase *) (obj))
#define OBJ_ENUM_CONST(obj) ((ObjEnumConst *) (obj))
#define OBJ_TYPE(obj) ((ObjType *) (obj))
@@ -193,8 +212,30 @@ struct Object {
#define OBJ_MEMBER_VAR_PATH(obj) ((ObjMemberVarPath *) (obj))
#define OBJECT(obj) ((Object *) (obj))
-#endif
+
+struct VarInfo { // OK!
+ Object *func;
+ SInt32 usage;
+ TStreamElement deftoken;
+ SInt16 varnumber;
+ Boolean noregister;
+ Boolean used;
+ UInt8 flags;
+ UInt8 rclass;
+ SInt16 reg;
+ SInt16 regHi;
+};
+
+enum {
+ VarInfoFlag1 = 1, // is parameter?
+ VarInfoFlag2 = 2,
+ VarInfoFlag4 = 4,
+ VarInfoFlag40 = 0x40,
+ VarInfoFlag80 = 0x80
+};
#ifdef __MWERKS__
#pragma options align=reset
#endif
+
+#endif