X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fmklib.c;h=e4b01e213f129f4b4f12bee7b74872ce62218cb0;hb=fbb4f2a798cbb4e4a469a1282e1554ec4cf55d01;hp=5d9bd04196e4b3de6b418136535831419cdb9acb;hpb=d3d949e93a1ca4acaa4675496e3ea376d1dc4072;p=swftools.git diff --git a/lib/as3/mklib.c b/lib/as3/mklib.c index 5d9bd04..e4b01e2 100644 --- a/lib/as3/mklib.c +++ b/lib/as3/mklib.c @@ -104,7 +104,6 @@ void load_libraries(char*filename, int pass, FILE*fi) tosort=abc->classes; for(t=0;tclasses->num;t++) {index[t]=t;} qsort(index, abc->classes->num, sizeof(int), compare_classes); - for(t=0;tclasses->num;t++) { abc_class_t*cls = array_getvalue(abc->classes, index[t]); int access = cls->classname->ns->access; @@ -192,10 +191,11 @@ 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(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 @@ -217,6 +217,18 @@ cont: if(id) free(id); if(superid) free(superid); } + + for(t=0;tscripts->num;t++) { + abc_script_t*s = array_getvalue(abc->scripts, t); + trait_list_t*l=0; + for(l=s->traits;l;l=l->next) { + trait_t*trait = l->trait; + if(trait->kind == TRAIT_METHOD) { + printf("%s\n", multiname_tostring(trait->name)); + } + } + } + swf_FreeABC(abc); memfile_close(file);tag->data=0;