git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed display of patch errors
[swftools.git]
/
lib
/
as3
/
abc.h
diff --git
a/lib/as3/abc.h
b/lib/as3/abc.h
index
cfa48b0
..
998f34a
100644
(file)
--- a/
lib/as3/abc.h
+++ b/
lib/as3/abc.h
@@
-40,9
+40,18
@@
DECLARE_LIST(exception);
DECLARE(trait);
DECLARE(trait);
+
+#define METHOD_NEED_ARGUMENTS 1
+#define METHOD_NEED_ACTIVATION 2
+#define METHOD_NEED_REST 4
+#define METHOD_HAS_OPTIONAL 8
+#define METHOD_SET_DXNS 0x40
+#define METHOD_HAS_PARAM_NAMES 0x80
+
struct _abc_method {
multiname_t*return_type;
multiname_list_t*parameters;
struct _abc_method {
multiname_t*return_type;
multiname_list_t*parameters;
+ constant_list_t*optional_parameters;
const char*name;
U8 flags;
abc_method_body_t*body;
const char*name;
U8 flags;
abc_method_body_t*body;
@@
-71,6
+80,7
@@
abc_file_t*abc_file_new();
#define TRAIT_FUNCTION 5
#define TRAIT_CONST 6
#define TRAIT_FUNCTION 5
#define TRAIT_CONST 6
+
struct _trait {
unsigned char kind;
unsigned char attributes;
struct _trait {
unsigned char kind;
unsigned char attributes;
@@
-87,12
+97,11
@@
struct _trait {
multiname_t*type_name;
int data2;
};
multiname_t*type_name;
int data2;
};
- int vindex;
- int vkind;
+ constant_t*value;
};
struct _abc_class {
};
struct _abc_class {
- abc_file_t*pool;
+ abc_file_t*file;
multiname_t*classname;
multiname_t*superclass;
multiname_t*classname;
multiname_t*superclass;
@@
-111,8
+120,8
@@
struct _abc_class {
int index; //filled in during writing
};
int index; //filled in during writing
};
-abc_class_t* abc_class_new(abc_file_t*pool, multiname_t*classname, multiname_t*superclass);
-abc_class_t* abc_class_new2(abc_file_t*pool, char*classname, char*superclass);
+abc_class_t* abc_class_new(abc_file_t*file, multiname_t*classname, multiname_t*superclass);
+abc_class_t* abc_class_new2(abc_file_t*file, char*classname, char*superclass);
void abc_class_sealed(abc_class_t*c);
void abc_class_final(abc_class_t*c);
void abc_class_interface(abc_class_t*c);
void abc_class_sealed(abc_class_t*c);
void abc_class_final(abc_class_t*c);
void abc_class_interface(abc_class_t*c);
@@
-132,7
+141,7
@@
struct _exception {
};
struct _abc_method_body {
};
struct _abc_method_body {
- abc_file_t*pool;
+ abc_file_t*file;
//abc_class_t*cls;
abc_method_t*method;
code_t*code;
//abc_class_t*cls;
abc_method_t*method;
code_t*code;
@@
-147,17
+156,17
@@
struct _abc_method_body {
trait_list_t*traits;
int index; // filled in during writing
trait_list_t*traits;
int index; // filled in during writing
+ codestats_t*stats; //filled in during writing
};
typedef struct _abc_script {
abc_method_t*method;
};
typedef struct _abc_script {
abc_method_t*method;
- abc_file_t*pool;
+ abc_file_t*file;
trait_list_t*traits;
} abc_script_t;
abc_method_t* abc_nullmethod(abc_file_t*file);
trait_list_t*traits;
} abc_script_t;
abc_method_t* abc_nullmethod(abc_file_t*file);
-
-abc_script_t* abc_initscript(abc_file_t*pool, char*returntype, int num_params, ...);
+abc_script_t* abc_initscript(abc_file_t*file, char*returntype, int num_params, ...);
#define __
#define __