git.asbjorn.biz
/
swftools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fb56342
)
classinfo_t now has a union member for storing subclasses/submembers
author
kramm
<kramm>
Tue, 30 Dec 2008 23:02:44 +0000
(23:02 +0000)
committer
kramm
<kramm>
Tue, 30 Dec 2008 23:02:44 +0000
(23:02 +0000)
lib/as3/registry.c
patch
|
blob
|
history
lib/as3/registry.h
patch
|
blob
|
history
diff --git
a/lib/as3/registry.c
b/lib/as3/registry.c
index
06ae5c5
..
e23321f
100644
(file)
--- a/
lib/as3/registry.c
+++ b/
lib/as3/registry.c
@@
-108,12
+108,14
@@
classinfo_t* registry_getfunctionclass(memberinfo_t*f) {
c->access = ACCESS_PUBLIC;
c->package = "";
c->name = "Function";
c->access = ACCESS_PUBLIC;
c->package = "";
c->name = "Function";
+
dict_init(&c->members,1);
dict_init(&c->members,1);
- dict_put(&c->members, "call", f);
+ c->function = f;
dict_put(functionobjects, f, c);
return c;
}
dict_put(functionobjects, f, c);
return c;
}
+
static dict_t* classobjects = 0;
classinfo_t* registry_getclassclass(classinfo_t*a) {
if(!classobjects) {
static dict_t* classobjects = 0;
classinfo_t* registry_getclassclass(classinfo_t*a) {
if(!classobjects) {
@@
-128,14
+130,8
@@
classinfo_t* registry_getclassclass(classinfo_t*a) {
c->access = ACCESS_PUBLIC;
c->package = "";
c->name = "Class";
c->access = ACCESS_PUBLIC;
c->package = "";
c->name = "Class";
-
- NEW(memberinfo_t,m);
- m->kind = MEMBER_SLOT;
- m->name = "prototype";
- m->type = a;
-
dict_init(&c->members,1);
dict_init(&c->members,1);
- dict_put(&c->members, "prototype", m);
+ c->cls = a;
dict_put(classobjects, a, c);
return c;
dict_put(classobjects, a, c);
return c;
diff --git
a/lib/as3/registry.h
b/lib/as3/registry.h
index
b5769b0
..
1784563
100644
(file)
--- a/
lib/as3/registry.h
+++ b/
lib/as3/registry.h
@@
-35,7
+35,11
@@
struct _classinfo {
U8 flags;
const char*package;
const char*name;
U8 flags;
const char*package;
const char*name;
- int slot;
+ union {
+ int slot; // slot nr in initscript traits
+ classinfo_t*cls; // specific class of a Class type
+ memberinfo_t*function; //specific function of a Function type
+ };
classinfo_t*superclass;
dict_t members;
classinfo_t*superclass;
dict_t members;