X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fmklib.c;h=98d54cddd312bc5cf2895460e405ea823a676e31;hb=a6e50e3e6227e026a76e12b442ac37b1b8c6f543;hp=ff9cfbc6968b317f12163f27d6827bba58c6a4ed;hpb=a5b0a0bab5c721e9d0771d840947d7a0625e26d3;p=swftools.git diff --git a/lib/as3/mklib.c b/lib/as3/mklib.c index ff9cfbc..98d54cd 100644 --- a/lib/as3/mklib.c +++ b/lib/as3/mklib.c @@ -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 @@ -191,10 +192,17 @@ void load_libraries(char*filename, int pass, FILE*fi) default: 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) { - fprintf(fi, "static memberinfo_t %s = {%s, \"%s\"", id2, type, name); + fprintf(fi, "static memberinfo_t %s = {%s, 0x%02x, \"%s\"", id2, type, flags, name); if(!retvalue) fprintf(fi, ", 0"); else