From: Matthias Kramm Date: Mon, 16 Feb 2009 13:15:51 +0000 (+0100) Subject: added support members with namespace access X-Git-Tag: release-0-9-0~80 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=6e924a7805803518bb3f665b8fb35b1904991d52 added support members with namespace access --- diff --git a/lib/as3/parser.y b/lib/as3/parser.y index ea25900..33ab3de 100644 --- a/lib/as3/parser.y +++ b/lib/as3/parser.y @@ -175,7 +175,7 @@ extern int a3_lex(); %type CODEBLOCK MAYBECODE MAYBE_CASE_LIST CASE_LIST DEFAULT CASE SWITCH WITH %type PACKAGE_DECLARATION SLOT_DECLARATION %type FUNCTION_DECLARATION PACKAGE_INITCODE -%type VARIABLE_DECLARATION ONE_VARIABLE VARIABLE_LIST THROW +%type VARIABLE_DECLARATION ONE_VARIABLE VARIABLE_LIST THROW %type CATCH FINALLY %type CATCH_LIST CATCH_FINALLY_LIST %type CLASS_DECLARATION @@ -377,8 +377,10 @@ DECLARE_LIST(state); multiname_t m;\ namespace_t m##_ns;\ if(f) { \ - m##_ns.access = ((slotinfo_t*)(f))->access; \ - m##_ns.name = ""; \ + if((m##_ns.access = ((slotinfo_t*)(f))->access)==ACCESS_NAMESPACE) \ + m##_ns.name = ((slotinfo_t*)(f))->package; \ + else \ + m##_ns.name = ""; \ m.type = QNAME; \ m.ns = &m##_ns; \ m.namespace_set = 0; \ @@ -1903,7 +1905,7 @@ MAYBECODE: {$$=code_new();} CODE: CODE CODEPIECE {$$=code_append($1,$2);} CODE: CODEPIECE {$$=$1;} -// code which also may appear outside a method +// code which may appear outside of methods CODE_STATEMENT: IMPORT CODE_STATEMENT: FOR CODE_STATEMENT: FOR_IN @@ -1918,7 +1920,7 @@ CODE_STATEMENT: USE_NAMESPACE CODE_STATEMENT: '{' CODE '}' {$$=$2;} CODE_STATEMENT: '{' '}' {$$=0;} -// code which may appear anywhere +// code which may appear in methods CODEPIECE: ';' {$$=0;} CODEPIECE: CODE_STATEMENT CODEPIECE: VARIABLE_DECLARATION @@ -3334,7 +3336,6 @@ E : "super" '.' T_IDENTIFIER if(!t) t = TYPE_OBJECT; memberinfo_t*f = registry_findmember(t, $3, 1); - namespace_t ns = {f->access, ""}; MEMBER_MULTINAME(m, f, $3); $$.c = 0; $$.c = abc_getlocal_0($$.c);