DECLARE(memberinfo);
struct _classinfo {
- /* this is very similar to a QNAME */
U8 access;
U8 flags;
const char*package;
const char*name;
+ int slot;
classinfo_t*superclass;
dict_t members;
char classinfo_equals(classinfo_t*c1, classinfo_t*c2);
#define MEMBER_SLOT 1
-#define MEMBER_METHOD 2
+#define MEMBER_GET 2
+#define MEMBER_SET 4
+#define MEMBER_GETSET 6
+#define MEMBER_METHOD 8
+
struct _memberinfo {
U8 kind;
+ U8 flags;
const char*name;
union {
classinfo_t*return_type;
void registry_init();
-classinfo_t* classinfo_register(int access, char*package, char*name);
+classinfo_t* classinfo_register(int access, char*package, char*name, int num_interfaces);
memberinfo_t* memberinfo_register(classinfo_t*cls, const char*name, U8 type);
// static multinames