moved runtests.py to test
[swftools.git] / lib / as3 / import.c
index a08d75f..8721e28 100644 (file)
@@ -55,6 +55,21 @@ void as3_import_swf(char*filename)
     free(swf);
 }
 
+void as3_import_file(char*filename)
+{
+    FILE*fi = fopen(filename, "rb");
+    if(!fi) return;
+    char head[3];
+    fread(head, 3, 1, fi);
+    fclose(fi);
+    if(!strncmp(head, "FWS", 3) ||
+       !strncmp(head, "CWS", 3)) {
+        as3_import_swf(filename);
+    } else {
+        as3_import_abc(filename);
+    }
+}
+
 static int compare_traits(const void*v1, const void*v2)
 {
     trait_t* x1 = *(trait_t**)v1;
@@ -83,6 +98,7 @@ void as3_import_code(abc_file_t*abc)
                 
         multiname_list_t*i=cls->interfaces;
         classinfo_t*c = classinfo_register(access, package, name, list_length(i));
+        c->flags|=FLAG_BUILTIN;
 
         if(cls->flags & CLASS_FINAL)
             c->flags |= FLAG_FINAL;
@@ -123,7 +139,9 @@ void as3_import_code(abc_file_t*abc)
             } else {
                 goto cont;
             }
+
             s->flags = is_static?FLAG_STATIC:0;
+            s->flags |= FLAG_BUILTIN;
             s->parent = c;
 
             cont:
@@ -169,6 +187,8 @@ void as3_import_code(abc_file_t*abc)
             } else {
                 m = (memberinfo_t*)varinfo_register_global(access, package, name);
             }
+            m->flags |= FLAG_BUILTIN;
+            m->return_type = 0;
             m->parent = 0;
         }
     }