git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
implemented two-pass compiling
[swftools.git]
/
lib
/
as3
/
mklib.c
diff --git
a/lib/as3/mklib.c
b/lib/as3/mklib.c
index
0ba4e24
..
2741244
100644
(file)
--- a/
lib/as3/mklib.c
+++ b/
lib/as3/mklib.c
@@
-150,13
+150,19
@@
void write_member_info(FILE*fi, char*parent, char*id2, const char*name, int flag
fprintf(fi, "};\n");
}
fprintf(fi, "};\n");
}
-int access2flags(int access)
+int access2flags(multiname_t*m)
{
{
+ int access = m->ns->access;
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;
+ }
+ }
return flags;
}
return flags;
}
@@
-258,7
+264,7
@@
void load_libraries(char*filename, int pass, FILE*fi)
}
int flags = is_static?FLAG_STATIC:0;
//flags |= access2flags(access);
}
int flags = is_static?FLAG_STATIC:0;
//flags |= access2flags(access);
- flags |= access2flags(trait->name->ns->access);
+ flags |= access2flags(trait->name);
if(pass==0) {
fprintf(fi, "static memberinfo_t %s;\n", id2);
if(pass==0) {
fprintf(fi, "static memberinfo_t %s;\n", id2);
@@
-315,7
+321,7
@@
void load_libraries(char*filename, int pass, FILE*fi)
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);
- int flags = FLAG_STATIC|access2flags(trait->name->ns->access);
+ int flags = FLAG_STATIC|access2flags(trait->name);
NEW(memberinfo_t,m);
char np = 0;
int clsflags = FLAG_STATIC | FLAG_METHOD;
NEW(memberinfo_t,m);
char np = 0;
int clsflags = FLAG_STATIC | FLAG_METHOD;