X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fpool.h;h=e279ad90c10bec47e5038c8ecdfeb19ff89b7ec4;hb=f00ad28507322054abc4859cb2049ec6f807c0c8;hp=5a03a6762fac698d6a6d30ba0a5befb3d4fd30d9;hpb=c873335ba84fe69cb4a1183326c9cfef160509e2;p=swftools.git diff --git a/lib/as3/pool.h b/lib/as3/pool.h index 5a03a67..e279ad9 100644 --- a/lib/as3/pool.h +++ b/lib/as3/pool.h @@ -80,23 +80,27 @@ CONSTANT_NAMESPACE_PROTECTED=0x18, CONSTANT_NAMESPACE_EXPLICIT=0x19, CONSTANT_NAMESPACE_STATICPROTECTED=0x1A, CONSTANT_NAMESPACE_PRIVATE=0x05, +CONSTANT_UNKNOWN=0x55, /*used internally */ } contant_type_t; +#define NS_TYPE(x) ((x) == 0x08 || (x) == 0x16 || (x) == 0x17 || (x) == 0x18 || (x) == 0x19 || (x) == 0x1a || (x) == 0x05) + struct _constant { + int type; union { + string_t* s; + namespace_t*ns; double f; int i; unsigned int u; - string_t* s; - namespace_t*ns; }; - int type; }; +constant_t* constant_clone(); constant_t* constant_new_int(int x); constant_t* constant_new_uint(unsigned int x); constant_t* constant_new_float(double x); -constant_t* constant_new_string(char*s); +constant_t* constant_new_string(const char*s); constant_t* constant_new_string2(const char*s, int len); constant_t* constant_new_namespace(namespace_t*ns); constant_t* constant_new_true(); @@ -178,6 +182,7 @@ int pool_register_multiname2(pool_t*pool, char*name); /* creation */ namespace_t* namespace_new(U8 access, const char*name); +namespace_t* namespace_new_namespace(const char*name); namespace_t* namespace_new_package(const char*name); namespace_t* namespace_new_packageinternal(const char*name); namespace_t* namespace_new_protected(const char*name);