fixed tests ok/namespaces1.as, ok/packagestr.as
[swftools.git] / lib / as3 / registry.h
index 4d58394..31267bf 100644 (file)
@@ -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()