-void write_member_info(FILE*fi, char*id2, const char*name, int flags, trait_t*trait)
+void write_member_info(FILE*fi, char*parent, char*id2, const char*name, int flags, trait_t*trait)
fprintf(fi, ", 0");
else
fprintf(fi, ", &%s", retvalue);
fprintf(fi, ", 0");
else
fprintf(fi, ", &%s", retvalue);
int flags=0;
if(access == ACCESS_PACKAGE) flags|=FLAG_PUBLIC;
if(access == ACCESS_PRIVATE) flags|=FLAG_PRIVATE;
if(access == ACCESS_PROTECTED) flags|=FLAG_PROTECTED;
int flags=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(access == ACCESS_PACKAGEINTERNAL) flags|=FLAG_PACKAGEINTERNAL;
+ if(access == ACCESS_NAMESPACE) {
+ if(!strcmp(m->ns->name, "http://adobe.com/AS3/2006/builtin")) {
+ flags|=FLAG_NAMESPACE_ADOBE;
+ }
+ }
- write_member_info(fi, id2, name, flags, trait);
+ write_member_info(fi, id, id2, name, flags, trait);
} else if(pass==2) {
fprintf(fi, " dict_put(&%s.members, \"%s\", &%s);\n", id, name, id2);
}
} else if(pass==2) {
fprintf(fi, " dict_put(&%s.members, \"%s\", &%s);\n", id, name, id2);
}
const char*name = trait->name->name;
char*pid = mkpid(package);
char*id2 = mkid2(trait->name);
const char*name = trait->name->name;
char*pid = mkpid(package);
char*id2 = mkid2(trait->name);
fprintf(fi, "static memberinfo_t %s;\n", id2);
fprintf(fi, "static classinfo_t %s_class;\n", id2);
} else if(pass==1) {
fprintf(fi, "static memberinfo_t %s;\n", id2);
fprintf(fi, "static classinfo_t %s_class;\n", id2);
} else if(pass==1) {
- write_member_info(fi, id2, name, flags, trait);
+ write_member_info(fi, 0, id2, name, flags, trait);
fprintf(fi, "static classinfo_t %s_class = {0x%02x, 0x%02x, \"%s\", \"%s\", &%s, 0, members:{0}};\n",
id2,
trait->name->ns->access, clsflags,
fprintf(fi, "static classinfo_t %s_class = {0x%02x, 0x%02x, \"%s\", \"%s\", &%s, 0, members:{0}};\n",
id2,
trait->name->ns->access, clsflags,