X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fregistry.h;h=31267bf2a86fa02655371478990ae4e006653073;hb=36a1fac8ea3a7457f25b1b4209b5fc918cc6af44;hp=4d58394c8887a0d9b4853178a0acbacc5b8996d8;hpb=15d3df10f09bd780efa101d0c253db96716eb145;p=swftools.git diff --git a/lib/as3/registry.h b/lib/as3/registry.h index 4d58394..31267bf 100644 --- a/lib/as3/registry.h +++ b/lib/as3/registry.h @@ -77,7 +77,7 @@ struct _classinfo { classinfo_t*superclass; dict_t members; void*data; //TODO: get rid of this- parser.y should pass type/value/code triples around - classinfo_t*interfaces[0]; + classinfo_t*interfaces[]; }; struct _memberinfo { U8 kind,subtype,flags,access; @@ -109,6 +109,7 @@ struct _varinfo { constant_t*value; }; +extern type_t memberinfo_type; extern type_t slotinfo_type; char slotinfo_equals(slotinfo_t*c1, slotinfo_t*c2); @@ -139,6 +140,8 @@ classinfo_t* slotinfo_gettype(slotinfo_t*); namespace_t access2namespace(U8 access, char*package); +char registry_ispackage(char*package); + // static multinames classinfo_t* registry_getanytype(); classinfo_t* registry_getarrayclass(); @@ -152,6 +155,7 @@ classinfo_t* registry_getregexpclass(); classinfo_t* registry_getbooleanclass(); classinfo_t* registry_getMovieClip(); classinfo_t* registry_getclassclass(classinfo_t*a); +classinfo_t* registry_getnamespaceclass(); char* infotypename(slotinfo_t*s); @@ -173,6 +177,8 @@ char* infotypename(slotinfo_t*s); #define TYPE_IS_STRING(t) ((t) == registry_getstringclass()) #define TYPE_REGEXP registry_getregexpclass() #define TYPE_IS_REGEXP(t) ((t) == registry_getregexpclass()) +#define TYPE_NAMESPACE registry_getnamespaceclass() +#define TYPE_IS_NAMESPACE(t) ((t) == registry_getnamespaceclass()) #define TYPE_OBJECT registry_getobjectclass()