classinfo_t now has a union member for storing subclasses/submembers
[swftools.git] / lib / as3 / mklib.c
index e4b01e2..98d54cd 100644 (file)
@@ -130,6 +130,7 @@ void load_libraries(char*filename, int pass, FILE*fi)
             fprintf(fi, "static classinfo_t %s;\n", id);
         } else if(pass==1) {
             fprintf(fi, "static classinfo_t %s = {0x%02x, 0x%02x, \"%s\", \"%s\"", id, access, flags, package, name);
+            fprintf(fi, ", 0"); //slot
             if(superid)
                 fprintf(fi, ", &%s, interfaces:{", superid);
             else
@@ -192,6 +193,12 @@ void load_libraries(char*filename, int pass, FILE*fi)
                     fprintf(stderr, "Unknown trait type %d\n", trait->kind);
             }
             int flags = is_static?FLAG_STATIC:0;
+
+            if(access == ACCESS_PACKAGE) flags|=FLAG_PUBLIC;
+            if(access == ACCESS_PRIVATE) flags|=FLAG_PRIVATE;
+            if(access == ACCESS_PROTECTED) flags|=FLAG_PROTECTED;
+            if(access == ACCESS_PACKAGEINTERNAL) flags|=FLAG_INTERNAL;
+
             if(pass==0) {
                 fprintf(fi, "static memberinfo_t %s;\n", id2);
             } if(pass==1) {