added -I option
[swftools.git] / lib / as3 / registry.c
index 0924910..069f923 100644 (file)
@@ -103,7 +103,7 @@ classinfo_t* registry_getclassclass(classinfo_t*a) {
             return c;
     }
 
-    NEW(classinfo_t,c);
+    classinfo_t*c = rfx_calloc(sizeof(classinfo_t)+sizeof(classinfo_t*));
     c->access = ACCESS_PUBLIC;
     c->package = "";
     c->name = "Class";
@@ -150,6 +150,7 @@ classinfo_t* registry_safefindclass(const char*package, const char*name)
     assert(c);
     return c;
 }
+
 classinfo_t* registry_findclass(const char*package, const char*name)
 {
     assert(classes);
@@ -161,6 +162,20 @@ classinfo_t* registry_findclass(const char*package, const char*name)
         printf("%s.%s->%08x (%s.%s)\n", package, name, c, c->package, c->name);*/
     return c;
 }
+void registry_dumpclasses()
+{
+    int t;
+    for(t=0;t<classes->hashsize;t++) {
+        dictentry_t*e = classes->slots[t];
+        while(e) {
+            dictentry_t*next = e->next;
+            classinfo_t*i = (classinfo_t*)e->key;
+            printf("%s.%s\n", i->package, i->name);
+            e = e->next;
+        }
+    }
+}
+
 memberinfo_t* registry_findmember(classinfo_t*cls, const char*name, char recursive)
 {
     if(!recursive) {
@@ -219,7 +234,7 @@ classinfo_t* memberinfo_asclass(memberinfo_t*f) {
             return c;
     }
 
-    NEW(classinfo_t,c);
+    classinfo_t*c = rfx_calloc(sizeof(classinfo_t)+sizeof(classinfo_t*));
     c->access = ACCESS_PUBLIC;
     c->package = "";
     c->name = "Function";