git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
set BUILTIN flag in imported classes/members
[swftools.git]
/
lib
/
as3
/
import.c
diff --git
a/lib/as3/import.c
b/lib/as3/import.c
index
1c3e2bc
..
8721e28
100644
(file)
--- a/
lib/as3/import.c
+++ b/
lib/as3/import.c
@@
-63,10
+63,11
@@
void as3_import_file(char*filename)
fread(head, 3, 1, fi);
fclose(fi);
if(!strncmp(head, "FWS", 3) ||
fread(head, 3, 1, fi);
fclose(fi);
if(!strncmp(head, "FWS", 3) ||
- !strncmp(head, "FWC", 3))
+ !strncmp(head, "CWS", 3)) {
as3_import_swf(filename);
as3_import_swf(filename);
- else
+ } else {
as3_import_abc(filename);
as3_import_abc(filename);
+ }
}
static int compare_traits(const void*v1, const void*v2)
}
static int compare_traits(const void*v1, const void*v2)
@@
-97,6
+98,7
@@
void as3_import_code(abc_file_t*abc)
multiname_list_t*i=cls->interfaces;
classinfo_t*c = classinfo_register(access, package, name, list_length(i));
multiname_list_t*i=cls->interfaces;
classinfo_t*c = classinfo_register(access, package, name, list_length(i));
+ c->flags|=FLAG_BUILTIN;
if(cls->flags & CLASS_FINAL)
c->flags |= FLAG_FINAL;
if(cls->flags & CLASS_FINAL)
c->flags |= FLAG_FINAL;
@@
-139,6
+141,7
@@
void as3_import_code(abc_file_t*abc)
}
s->flags = is_static?FLAG_STATIC:0;
}
s->flags = is_static?FLAG_STATIC:0;
+ s->flags |= FLAG_BUILTIN;
s->parent = c;
cont:
s->parent = c;
cont:
@@
-184,6
+187,7
@@
void as3_import_code(abc_file_t*abc)
} else {
m = (memberinfo_t*)varinfo_register_global(access, package, name);
}
} else {
m = (memberinfo_t*)varinfo_register_global(access, package, name);
}
+ m->flags |= FLAG_BUILTIN;
m->return_type = 0;
m->parent = 0;
}
m->return_type = 0;
m->parent = 0;
}