X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fregistry.h;h=77d1f89df0c2d30d08e07d20bdee675d9ea1df06;hb=fe0554f343c5f4d4bd9affdab418b3db2f7eb949;hp=74504689b4fefffd9bfcec9e5726a2d0e3c5f9a8;hpb=d411691c6b0e5454f626ba0a8ee56f936cae9c8e;p=swftools.git diff --git a/lib/as3/registry.h b/lib/as3/registry.h index 7450468..77d1f89 100644 --- a/lib/as3/registry.h +++ b/lib/as3/registry.h @@ -31,11 +31,11 @@ DECLARE_LIST(classinfo); 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; @@ -44,9 +44,14 @@ struct _classinfo { 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; @@ -61,7 +66,7 @@ extern type_t function_signature_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