X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fas3%2Fparser.tab.c;h=e83edff18db7dc0649af8ef50b3ace1e5c967839;hp=60e6fa7ca072da7c6a4760dcee309483aee26780;hb=5250e6b4e61611d48b7635650884f8828575a212;hpb=18c92a7b9532ccc8ad219fa4a2f83cdc651ec3e1 diff --git a/lib/as3/parser.tab.c b/lib/as3/parser.tab.c index 60e6fa7..e83edff 100644 --- a/lib/as3/parser.tab.c +++ b/lib/as3/parser.tab.c @@ -966,9 +966,9 @@ static namespace_t modifiers2access(modifiers_t*mod) } static slotinfo_t* find_class(const char*name); -static memberinfo_t* findmember_nsset(classinfo_t*cls, const char*name, char recurse) +static memberinfo_t* findmember_nsset(classinfo_t*cls, const char*name, char recurse, char is_static) { - return registry_findmember_nsset(cls, state->active_namespace_urls, name, recurse); + return registry_findmember_nsset(cls, state->active_namespace_urls, name, recurse, is_static); } static void innerfunctions2vars(methodstate_t*m) @@ -1259,7 +1259,7 @@ static void check_override(memberinfo_t*m, int flags) { if(!m) return; - if(m->parent == state->cls->info) + if(m->parent == state->cls->info && !((flags^m->flags)&FLAG_STATIC)) syntaxerror("class '%s' already contains a method/slot '%s'", m->parent->name, m->name); if(!m->parent) syntaxerror("internal error: overriding method %s, which doesn't have parent", m->name); @@ -1295,11 +1295,11 @@ static methodinfo_t*registerfunction(enum yytokentype getset, modifiers_t*mod, c minfo->return_type = return_type; } else if(getset != KW_GET && getset != KW_SET) { //class method - memberinfo_t* m = registry_findmember(state->cls->info, ns.name, name, 0); + memberinfo_t* m = registry_findmember(state->cls->info, ns.name, name, 0, mod->flags&FLAG_STATIC); if(m) { syntaxerror("class already contains a %s '%s'", infotypename((slotinfo_t*)m), m->name); } - minfo = methodinfo_register_onclass(state->cls->info, ns.access, ns.name, name); + minfo = methodinfo_register_onclass(state->cls->info, ns.access, ns.name, name, mod->flags&FLAG_STATIC); minfo->return_type = return_type; // getslot on a member slot only returns "undefined", so no need // to actually store these @@ -1315,7 +1315,7 @@ static methodinfo_t*registerfunction(enum yytokentype getset, modifiers_t*mod, c } else syntaxerror("setter function needs to take exactly one argument"); // not sure wether to look into superclasses here, too - minfo = (methodinfo_t*)registry_findmember(state->cls->info, ns.name, name, 1); + minfo = (methodinfo_t*)registry_findmember(state->cls->info, ns.name, name, 1, mod->flags&FLAG_STATIC); if(minfo) { if(minfo->kind!=INFOTYPE_VAR) syntaxerror("class already contains a method called '%s'", name); @@ -1337,7 +1337,7 @@ static methodinfo_t*registerfunction(enum yytokentype getset, modifiers_t*mod, c type?type->name:"*"); }*/ } else { - minfo = methodinfo_register_onclass(state->cls->info, ns.access, ns.name, name); + minfo = methodinfo_register_onclass(state->cls->info, ns.access, ns.name, name, mod->flags&FLAG_STATIC); minfo->kind = INFOTYPE_VAR; //hack minfo->subtype = gs; minfo->return_type = type; @@ -1442,7 +1442,7 @@ static void startfunction(modifiers_t*mod, enum yytokentype getset, char*name, parserassert(state->method); if(state->cls) { - memberinfo_t*m = registry_findmember(state->cls->info, mod->ns, name, 2); + memberinfo_t*m = registry_findmember(state->cls->info, mod->ns, name, 2, mod->flags&FLAG_STATIC); check_override(m, mod->flags); } @@ -1705,6 +1705,7 @@ code_t*converttype(code_t*c, classinfo_t*from, classinfo_t*to) if(TYPE_IS_NULL(from) && !IS_NUMBER_OR_INT(to)) return c; + as3_error("can't convert type %s%s%s to %s%s%s", from->package, from->package[0]?".":"", from->name, to->package, to->package[0]?".":"", to->name); @@ -1982,11 +1983,11 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 273 of skeleton.m4 */ -#line 1986 "parser.tab.c" +#line 1987 "parser.tab.c" /* Unqualified %code blocks. */ /* Line 274 of skeleton.m4 */ -#line 2076 "parser.y" +#line 2077 "parser.y" char is_subtype_of(classinfo_t*type, classinfo_t*supertype) { @@ -2003,7 +2004,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2527 "parser.y" +#line 2528 "parser.y" static void state_has_imports() { @@ -2026,7 +2027,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2666 "parser.y" +#line 2667 "parser.y" static int slotstate_varconst = 0; static modifiers_t*slotstate_flags = 0; @@ -2088,13 +2089,13 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2846 "parser.y" +#line 2847 "parser.y" static int xml_level = 0; /* Line 274 of skeleton.m4 */ -#line 3512 "parser.y" +#line 3513 "parser.y" node_t* resolve_identifier(const char*name); node_t* get_descendants(node_t*e,const char*ns,const char*subnode,char multi, char attr) @@ -2134,7 +2135,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 3683 "parser.y" +#line 3684 "parser.y" node_t* var_read(variable_t*v) { @@ -2172,7 +2173,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) if(!state->method->inner && !state->xmlfilter && state->cls && - (f = findmember_nsset(state->cls->info, name, 1))) + (f = findmember_nsset(state->cls->info, name, 1, i_am_static))) { // name is a member or attribute in this class int var_is_static = (f->flags&FLAG_STATIC); @@ -2257,7 +2258,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 3834 "parser.y" +#line 3835 "parser.y" void add_active_url(const char*url) { @@ -2269,7 +2270,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2273 "parser.tab.c" +#line 2274 "parser.tab.c" #ifdef short # undef short @@ -2705,42 +2706,42 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1967, 1967, 1969, 1969, 1970, 1971, 1973, 1974, 1975, - 1976, 1977, 1978, 1979, 1980, 1982, 1982, 1983, 1984, 1986, - 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1996, 1998, - 2001, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, - 2013, 2014, 2015, 2016, 2017, 2018, 2021, 2022, 2023, 2024, - 2025, 2026, 2027, 2028, 2040, 2041, 2045, 2056, 2064, 2091, - 2092, 2094, 2095, 2097, 2098, 2100, 2161, 2161, 2165, 2166, - 2169, 2185, 2186, 2187, 2192, 2196, 2201, 2202, 2204, 2224, - 2268, 2284, 2296, 2299, 2302, 2305, 2309, 2310, 2311, 2312, - 2313, 2314, 2316, 2327, 2330, 2330, 2361, 2361, 2386, 2386, - 2402, 2403, 2404, 2405, 2413, 2422, 2422, 2471, 2475, 2486, - 2496, 2513, 2514, 2515, 2516, 2517, 2519, 2520, 2522, 2522, - 2524, 2524, 2548, 2556, 2567, 2583, 2584, 2585, 2586, 2593, - 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2606, - 2607, 2609, 2610, 2612, 2613, 2617, 2615, 2623, 2621, 2630, - 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2639, 2645, 2646, - 2647, 2648, 2649, 2650, 2653, 2726, 2726, 2728, 2728, 2730, - 2731, 2733, 2817, 2818, 2827, 2828, 2831, 2832, 2833, 2834, - 2835, 2836, 2837, 2850, 2861, 2862, 2863, 2865, 2865, 2868, - 2868, 2871, 2872, 2875, 2880, 2883, 2886, 2889, 2892, 2896, - 2899, 2903, 2907, 2912, 2918, 2921, 2924, 2927, 2932, 2935, - 2938, 2948, 2952, 2958, 2964, 2972, 2977, 2983, 2991, 2999, - 3000, 3001, 3004, 3003, 3020, 3021, 3023, 3022, 3046, 3065, - 3079, 3080, 3082, 3083, 3085, 3086, 3087, 3096, 3097, 3101, - 3102, 3104, 3105, 3106, 3108, 3112, 3113, 3118, 3119, 3166, - 3216, 3237, 3259, 3262, 3269, 3272, 3275, 3278, 3281, 3284, - 3289, 3290, 3292, 3293, 3294, 3295, 3296, 3298, 3304, 3313, - 3314, 3315, 3316, 3317, 3318, 3320, 3324, 3329, 3347, 3358, - 3368, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, - 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, - 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, - 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, - 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3424, 3425, 3426, - 3427, 3429, 3444, 3452, 3452, 3506, 3507, 3508, 3509, 3510, - 3550, 3553, 3560, 3563, 3574, 3582, 3586, 3593, 3597, 3607, - 3618, 3805, 3809, 3843, 3850, 3857, 3864, 3886, 3893 + 0, 1968, 1968, 1970, 1970, 1971, 1972, 1974, 1975, 1976, + 1977, 1978, 1979, 1980, 1981, 1983, 1983, 1984, 1985, 1987, + 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1999, + 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, + 2014, 2015, 2016, 2017, 2018, 2019, 2022, 2023, 2024, 2025, + 2026, 2027, 2028, 2029, 2041, 2042, 2046, 2057, 2065, 2092, + 2093, 2095, 2096, 2098, 2099, 2101, 2162, 2162, 2166, 2167, + 2170, 2186, 2187, 2188, 2193, 2197, 2202, 2203, 2205, 2225, + 2269, 2285, 2297, 2300, 2303, 2306, 2310, 2311, 2312, 2313, + 2314, 2315, 2317, 2328, 2331, 2331, 2362, 2362, 2387, 2387, + 2403, 2404, 2405, 2406, 2414, 2423, 2423, 2472, 2476, 2487, + 2497, 2514, 2515, 2516, 2517, 2518, 2520, 2521, 2523, 2523, + 2525, 2525, 2549, 2557, 2568, 2584, 2585, 2586, 2587, 2594, + 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2607, + 2608, 2610, 2611, 2613, 2614, 2618, 2616, 2624, 2622, 2631, + 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2640, 2646, 2647, + 2648, 2649, 2650, 2651, 2654, 2727, 2727, 2729, 2729, 2731, + 2732, 2734, 2818, 2819, 2828, 2829, 2832, 2833, 2834, 2835, + 2836, 2837, 2838, 2851, 2862, 2863, 2864, 2866, 2866, 2869, + 2869, 2872, 2873, 2876, 2881, 2884, 2887, 2890, 2893, 2897, + 2900, 2904, 2908, 2913, 2919, 2922, 2925, 2928, 2933, 2936, + 2939, 2949, 2953, 2959, 2965, 2973, 2978, 2984, 2992, 3000, + 3001, 3002, 3005, 3004, 3021, 3022, 3024, 3023, 3047, 3066, + 3080, 3081, 3083, 3084, 3086, 3087, 3088, 3097, 3098, 3102, + 3103, 3105, 3106, 3107, 3109, 3113, 3114, 3119, 3120, 3167, + 3217, 3238, 3260, 3263, 3270, 3273, 3276, 3279, 3282, 3285, + 3290, 3291, 3293, 3294, 3295, 3296, 3297, 3299, 3305, 3314, + 3315, 3316, 3317, 3318, 3319, 3321, 3325, 3330, 3348, 3359, + 3369, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, + 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, + 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, + 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, + 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3425, 3426, 3427, + 3428, 3430, 3445, 3453, 3453, 3507, 3508, 3509, 3510, 3511, + 3551, 3554, 3561, 3564, 3575, 3583, 3587, 3594, 3598, 3608, + 3619, 3806, 3810, 3844, 3851, 3858, 3865, 3887, 3894 }; #endif @@ -4653,7 +4654,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1979 "parser.y" +#line 1980 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4664,7 +4665,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1991 "parser.y" +#line 1992 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4675,7 +4676,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1992 "parser.y" +#line 1993 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(2) - (4)].number_int);PASS1 as3_warning("embed command ignored");} } break; @@ -4686,7 +4687,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1995 "parser.y" +#line 1996 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4697,7 +4698,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1996 "parser.y" +#line 1997 "parser.y" {(yyval.code)=code_new();} } break; @@ -4708,7 +4709,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1998 "parser.y" +#line 1999 "parser.y" { (yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code)); } @@ -4721,7 +4722,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2001 "parser.y" +#line 2002 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4732,7 +4733,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2017 "parser.y" +#line 2018 "parser.y" {(yyval.code)=(yyvsp[(2) - (3)].code);} } break; @@ -4743,7 +4744,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2018 "parser.y" +#line 2019 "parser.y" {(yyval.code)=0;} } break; @@ -4754,7 +4755,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2021 "parser.y" +#line 2022 "parser.y" {(yyval.code)=0;} } break; @@ -4765,7 +4766,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2028 "parser.y" +#line 2029 "parser.y" { PASS_ALWAYS if(as3_pass) { @@ -4784,7 +4785,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2040 "parser.y" +#line 2041 "parser.y" {(yyval.code)=(yyvsp[(1) - (2)].code);} } break; @@ -4795,7 +4796,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2041 "parser.y" +#line 2042 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4806,7 +4807,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2045 "parser.y" +#line 2046 "parser.y" { if((yyvsp[(1) - (1)].code)) { if(!global->init) @@ -4824,7 +4825,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2056 "parser.y" +#line 2057 "parser.y" { PASS_ALWAYS (yyval.number_int) = as3_pass; @@ -4839,7 +4840,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2064 "parser.y" +#line 2065 "parser.y" { PASS12 (yyval.number_int)=as3_pass; @@ -4858,7 +4859,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2091 "parser.y" +#line 2092 "parser.y" {(yyval.node)=(yyvsp[(2) - (2)].node);} } break; @@ -4869,7 +4870,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2092 "parser.y" +#line 2093 "parser.y" {(yyval.node)=mkdummynode();} } break; @@ -4880,7 +4881,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2094 "parser.y" +#line 2095 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -4891,7 +4892,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2095 "parser.y" +#line 2096 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -4902,7 +4903,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2097 "parser.y" +#line 2098 "parser.y" {(yyval.code) = (yyvsp[(1) - (1)].code);} } break; @@ -4913,7 +4914,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2098 "parser.y" +#line 2099 "parser.y" {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));} } break; @@ -4924,7 +4925,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2101 "parser.y" +#line 2102 "parser.y" { PASS12 if(variable_exists((yyvsp[(1) - (3)].id))) @@ -4991,7 +4992,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2161 "parser.y" +#line 2162 "parser.y" {PASS12 new_state();} } break; @@ -5002,7 +5003,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2161 "parser.y" +#line 2162 "parser.y" { (yyval.code) = var_block((yyvsp[(2) - (2)].code), state->vars); PASS12 old_state(); @@ -5016,7 +5017,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2165 "parser.y" +#line 2166 "parser.y" {(yyval.code) = code_new();} } break; @@ -5027,7 +5028,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2166 "parser.y" +#line 2167 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -5038,7 +5039,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2169 "parser.y" +#line 2170 "parser.y" { (yyval.code) = code_new(); (yyval.code) = code_append((yyval.code), (yyvsp[(3) - (6)].value).c); @@ -5063,7 +5064,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2185 "parser.y" +#line 2186 "parser.y" {(yyval.code)=code_new();} } break; @@ -5074,7 +5075,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2192 "parser.y" +#line 2193 "parser.y" { PASS1 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable(state->method, (yyvsp[(2) - (3)].id),0,1,0); PASS2 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable(state->method, (yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].classinfo),1,0); @@ -5088,7 +5089,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2196 "parser.y" +#line 2197 "parser.y" { PASS12 (yyval.id)=(yyvsp[(1) - (1)].id); @@ -5102,7 +5103,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2201 "parser.y" +#line 2202 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;} } break; @@ -5113,7 +5114,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2202 "parser.y" +#line 2203 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;} } break; @@ -5124,7 +5125,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2204 "parser.y" +#line 2205 "parser.y" { if((yyvsp[(1) - (8)].for_start).each) syntaxerror("invalid syntax: ; not allowed in for each statement"); (yyval.code) = code_new(); @@ -5153,7 +5154,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2224 "parser.y" +#line 2225 "parser.y" { node_t*n = resolve_identifier((yyvsp[(2) - (6)].id)); typedcode_t w = node_write(n); @@ -5206,7 +5207,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2268 "parser.y" +#line 2269 "parser.y" { (yyval.code) = code_new(); @@ -5231,7 +5232,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2284 "parser.y" +#line 2285 "parser.y" { (yyval.code) = code_new(); code_t*loopstart = (yyval.code) = abc_label((yyval.code)); @@ -5252,7 +5253,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2296 "parser.y" +#line 2297 "parser.y" { (yyval.code) = abc___break__(0, ""); } @@ -5265,7 +5266,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2299 "parser.y" +#line 2300 "parser.y" { (yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id)); } @@ -5278,7 +5279,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2302 "parser.y" +#line 2303 "parser.y" { (yyval.code) = abc___continue__(0, ""); } @@ -5291,7 +5292,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2305 "parser.y" +#line 2306 "parser.y" { (yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id)); } @@ -5304,7 +5305,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2309 "parser.y" +#line 2310 "parser.y" {(yyval.code)=0;} } break; @@ -5315,7 +5316,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2310 "parser.y" +#line 2311 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5326,7 +5327,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2311 "parser.y" +#line 2312 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5337,7 +5338,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2312 "parser.y" +#line 2313 "parser.y" {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));} } break; @@ -5348,7 +5349,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2313 "parser.y" +#line 2314 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5359,7 +5360,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2314 "parser.y" +#line 2315 "parser.y" {(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));} } break; @@ -5370,7 +5371,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2316 "parser.y" +#line 2317 "parser.y" { (yyval.code) = abc_getlocal(0, state->switch_var); (yyval.code) = code_append((yyval.code), node_read((yyvsp[(2) - (4)].node)).c); @@ -5391,7 +5392,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2327 "parser.y" +#line 2328 "parser.y" { (yyval.code) = (yyvsp[(3) - (3)].code); } @@ -5404,7 +5405,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2330 "parser.y" +#line 2331 "parser.y" {PASS12 new_state();state->switch_var=alloc_local();} } break; @@ -5415,7 +5416,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2330 "parser.y" +#line 2331 "parser.y" { (yyval.code) = node_read((yyvsp[(4) - (8)].node)).c; (yyval.code) = abc_setlocal((yyval.code), state->switch_var); @@ -5453,7 +5454,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2361 "parser.y" +#line 2362 "parser.y" {PASS12 new_state(); state->exception_name=(yyvsp[(3) - (5)].id); PASS1 new_variable(state->method, (yyvsp[(3) - (5)].id), 0, 0, 0); @@ -5468,7 +5469,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2366 "parser.y" +#line 2367 "parser.y" { namespace_t name_ns = {ACCESS_PACKAGE, ""}; multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)}; @@ -5498,7 +5499,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2386 "parser.y" +#line 2387 "parser.y" {PASS12 new_state();state->exception_name=0;} } break; @@ -5509,7 +5510,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2386 "parser.y" +#line 2387 "parser.y" { (yyvsp[(4) - (5)].code) = var_block((yyvsp[(4) - (5)].code), state->vars); if(!(yyvsp[(4) - (5)].code)) { @@ -5534,7 +5535,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2402 "parser.y" +#line 2403 "parser.y" {(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));} } break; @@ -5545,7 +5546,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2403 "parser.y" +#line 2404 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));} } break; @@ -5556,7 +5557,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2404 "parser.y" +#line 2405 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);} } break; @@ -5567,7 +5568,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2405 "parser.y" +#line 2406 "parser.y" { (yyval.catch_list) = (yyvsp[(1) - (2)].catch_list); (yyval.catch_list).finally = 0; @@ -5585,7 +5586,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2413 "parser.y" +#line 2414 "parser.y" { (yyval.catch_list).l=list_new(); (yyval.catch_list).finally = 0; @@ -5603,7 +5604,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2422 "parser.y" +#line 2423 "parser.y" {PASS12 new_state(); state->method->has_exceptions=1; state->method->late_binding=1;//for invariant scope_code @@ -5617,7 +5618,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2425 "parser.y" +#line 2426 "parser.y" { code_t*out = abc_nop(0); @@ -5670,7 +5671,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2471 "parser.y" +#line 2472 "parser.y" { (yyval.code)=(yyvsp[(2) - (2)].value).c; (yyval.code)=abc_throw((yyval.code)); @@ -5684,7 +5685,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2475 "parser.y" +#line 2476 "parser.y" { if(!state->exception_name) syntaxerror("re-throw only possible within a catch block"); @@ -5702,7 +5703,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2486 "parser.y" +#line 2487 "parser.y" { new_state(); if(state->method->has_exceptions) { @@ -5722,7 +5723,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2496 "parser.y" +#line 2497 "parser.y" { /* remove getlocal;pushwith from scope code again */ state->method->scope_code = code_cutlast(code_cutlast(state->method->scope_code)); @@ -5746,7 +5747,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2514 "parser.y" +#line 2515 "parser.y" {PASS12 (yyval.id)="package";} } break; @@ -5757,7 +5758,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2515 "parser.y" +#line 2516 "parser.y" {PASS12 (yyval.id)="namespace";} } break; @@ -5768,7 +5769,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2516 "parser.y" +#line 2517 "parser.y" {PASS12 (yyval.id)="NaN";} } break; @@ -5779,7 +5780,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2517 "parser.y" +#line 2518 "parser.y" {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);} } break; @@ -5790,7 +5791,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2519 "parser.y" +#line 2520 "parser.y" {PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;} } break; @@ -5801,7 +5802,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2520 "parser.y" +#line 2521 "parser.y" {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));} } break; @@ -5812,7 +5813,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2522 "parser.y" +#line 2523 "parser.y" {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;} } break; @@ -5823,7 +5824,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2523 "parser.y" +#line 2524 "parser.y" {PASS12 endpackage();(yyval.code)=0;} } break; @@ -5834,7 +5835,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2524 "parser.y" +#line 2525 "parser.y" {PASS12 startpackage("");} } break; @@ -5845,7 +5846,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2525 "parser.y" +#line 2526 "parser.y" {PASS12 endpackage();(yyval.code)=0;} } break; @@ -5856,7 +5857,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2548 "parser.y" +#line 2549 "parser.y" { PASS12 slotinfo_t*s = registry_find(state->package, (yyvsp[(2) - (2)].id)); @@ -5874,7 +5875,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2556 "parser.y" +#line 2557 "parser.y" { PASS12 slotinfo_t*s = registry_find((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name); @@ -5895,7 +5896,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2567 "parser.y" +#line 2568 "parser.y" { PASS12 if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6) && as3_pass==1) { @@ -5918,7 +5919,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2583 "parser.y" +#line 2584 "parser.y" {PASS12 (yyval.flags).flags=0;(yyval.flags).ns=0;} } break; @@ -5929,7 +5930,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2584 "parser.y" +#line 2585 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; @@ -5940,7 +5941,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2585 "parser.y" +#line 2586 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; @@ -5951,7 +5952,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2586 "parser.y" +#line 2587 "parser.y" { PASS12 (yyval.flags).flags=(yyvsp[(1) - (2)].flags).flags|(yyvsp[(2) - (2)].flags).flags; @@ -5968,7 +5969,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2593 "parser.y" +#line 2594 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PUBLIC;(yyval.flags).ns=0;} } break; @@ -5979,7 +5980,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2594 "parser.y" +#line 2595 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PRIVATE;(yyval.flags).ns=0;} } break; @@ -5990,7 +5991,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2595 "parser.y" +#line 2596 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PROTECTED;(yyval.flags).ns=0;} } break; @@ -6001,7 +6002,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2596 "parser.y" +#line 2597 "parser.y" {PASS12 (yyval.flags).flags=FLAG_STATIC;(yyval.flags).ns=0;} } break; @@ -6012,7 +6013,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2597 "parser.y" +#line 2598 "parser.y" {PASS12 (yyval.flags).flags=FLAG_DYNAMIC;(yyval.flags).ns=0;} } break; @@ -6023,7 +6024,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2598 "parser.y" +#line 2599 "parser.y" {PASS12 (yyval.flags).flags=FLAG_FINAL;(yyval.flags).ns=0;} } break; @@ -6034,7 +6035,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2599 "parser.y" +#line 2600 "parser.y" {PASS12 (yyval.flags).flags=FLAG_OVERRIDE;(yyval.flags).ns=0;} } break; @@ -6045,7 +6046,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2600 "parser.y" +#line 2601 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NATIVE;(yyval.flags).ns=0;} } break; @@ -6056,7 +6057,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2601 "parser.y" +#line 2602 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PACKAGEINTERNAL;(yyval.flags).ns=0;} } break; @@ -6067,7 +6068,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2602 "parser.y" +#line 2603 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NAMESPACE; (yyval.flags).ns=(yyvsp[(1) - (1)].id); } @@ -6080,7 +6081,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2606 "parser.y" +#line 2607 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; @@ -6091,7 +6092,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2607 "parser.y" +#line 2608 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; @@ -6102,7 +6103,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2609 "parser.y" +#line 2610 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; @@ -6113,7 +6114,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2610 "parser.y" +#line 2611 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; @@ -6124,7 +6125,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2612 "parser.y" +#line 2613 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; @@ -6135,7 +6136,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2613 "parser.y" +#line 2614 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; @@ -6146,7 +6147,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2617 "parser.y" +#line 2618 "parser.y" {PASS12 startclass(&(yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list));} } break; @@ -6157,7 +6158,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2619 "parser.y" +#line 2620 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; @@ -6168,7 +6169,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2623 "parser.y" +#line 2624 "parser.y" {PASS12 (yyvsp[(1) - (5)].flags).flags|=FLAG_INTERFACE; startclass(&(yyvsp[(1) - (5)].flags),(yyvsp[(3) - (5)].id),0,(yyvsp[(4) - (5)].classinfo_list));} } @@ -6180,7 +6181,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2626 "parser.y" +#line 2627 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; @@ -6191,7 +6192,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2635 "parser.y" +#line 2636 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -6202,7 +6203,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2639 "parser.y" +#line 2640 "parser.y" { code_t*c = state->cls->static_init->header; c = code_append(c, (yyvsp[(1) - (1)].code)); @@ -6217,7 +6218,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2650 "parser.y" +#line 2651 "parser.y" { syntaxerror("variable declarations not allowed in interfaces"); } @@ -6230,7 +6231,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2653 "parser.y" +#line 2654 "parser.y" { PASS12 (yyvsp[(1) - (8)].flags).flags |= FLAG_PUBLIC; @@ -6250,7 +6251,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2728 "parser.y" +#line 2729 "parser.y" {PASS12 setslotstate(&(yyvsp[(1) - (2)].flags),(yyvsp[(2) - (2)].token));} } break; @@ -6261,7 +6262,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2728 "parser.y" +#line 2729 "parser.y" {PASS12 (yyval.code)=(yyvsp[(4) - (4)].code);setslotstate(0, 0);} } break; @@ -6272,7 +6273,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2730 "parser.y" +#line 2731 "parser.y" {PASS12 (yyval.code)=0;} } break; @@ -6283,7 +6284,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2731 "parser.y" +#line 2732 "parser.y" {PASS12 (yyval.code)=0;} } break; @@ -6294,7 +6295,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2734 "parser.y" +#line 2735 "parser.y" { PASS12 int flags = slotstate_flags->flags; @@ -6304,11 +6305,11 @@ PASS12 varinfo_t* info = 0; if(state->cls) { - memberinfo_t*i = registry_findmember(state->cls->info, ns.name, (yyvsp[(1) - (3)].id), 1); + memberinfo_t*i = registry_findmember(state->cls->info, ns.name, (yyvsp[(1) - (3)].id), 1, slotstate_flags->flags&FLAG_STATIC); if(i) { check_override(i, flags); } - info = varinfo_register_onclass(state->cls->info, ns.access, ns.name, (yyvsp[(1) - (3)].id)); + info = varinfo_register_onclass(state->cls->info, ns.access, ns.name, (yyvsp[(1) - (3)].id), slotstate_flags->flags&FLAG_STATIC); } else { slotinfo_t*i = registry_find(state->package, (yyvsp[(1) - (3)].id)); if(i) { @@ -6384,7 +6385,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2817 "parser.y" +#line 2818 "parser.y" {(yyval.constant)=0;} } break; @@ -6395,7 +6396,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2818 "parser.y" +#line 2819 "parser.y" { (yyval.constant) = malloc(sizeof(constant_t)); *(yyval.constant) = node_eval((yyvsp[(2) - (2)].node)); @@ -6412,7 +6413,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2827 "parser.y" +#line 2828 "parser.y" {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));} } break; @@ -6423,7 +6424,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2828 "parser.y" +#line 2829 "parser.y" { (yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint)); } @@ -6436,7 +6437,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2831 "parser.y" +#line 2832 "parser.y" {(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));} } break; @@ -6447,7 +6448,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2832 "parser.y" +#line 2833 "parser.y" {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);free((char*)(yyvsp[(1) - (1)].str).str);} } break; @@ -6458,7 +6459,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2833 "parser.y" +#line 2834 "parser.y" {(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));} } break; @@ -6469,7 +6470,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2834 "parser.y" +#line 2835 "parser.y" {(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));} } break; @@ -6480,7 +6481,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2835 "parser.y" +#line 2836 "parser.y" {(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));} } break; @@ -6491,7 +6492,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2836 "parser.y" +#line 2837 "parser.y" {(yyval.constant) = constant_new_undefined((yyvsp[(1) - (1)].token));} } break; @@ -6502,7 +6503,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2837 "parser.y" +#line 2838 "parser.y" {(yyval.constant) = constant_new_float(__builtin_nan(""));} } break; @@ -6513,7 +6514,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2850 "parser.y" +#line 2851 "parser.y" { multiname_t m = {QNAME, &stdns, 0, "XML"}; typedcode_t v; @@ -6533,7 +6534,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2861 "parser.y" +#line 2862 "parser.y" {PASS_ALWAYS if(!xml_level++) tokenizer_begin_xml();} } break; @@ -6544,7 +6545,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2862 "parser.y" +#line 2863 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; @@ -6555,7 +6556,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2863 "parser.y" +#line 2864 "parser.y" {PASS_ALWAYS if(!--xml_level) tokenizer_end_xml(); else tokenizer_begin_xmltext();} } break; @@ -6566,7 +6567,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2865 "parser.y" +#line 2866 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; @@ -6577,7 +6578,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2865 "parser.y" +#line 2866 "parser.y" { (yyval.node) = (yyvsp[(2) - (4)].node); } @@ -6590,7 +6591,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2868 "parser.y" +#line 2869 "parser.y" {PASS_ALWAYS tokenizer_begin_xml();} } break; @@ -6601,7 +6602,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2868 "parser.y" +#line 2869 "parser.y" { (yyval.node) = (yyvsp[(2) - (4)].node); } @@ -6614,7 +6615,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2871 "parser.y" +#line 2872 "parser.y" {(yyval.node)=mkstringnode("");} } break; @@ -6625,7 +6626,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2872 "parser.y" +#line 2873 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node),(yyvsp[(2) - (2)].node)); } @@ -6638,7 +6639,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2875 "parser.y" +#line 2876 "parser.y" { char* str = string_cstr(&(yyvsp[(2) - (2)].str)); (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node),mkstringnode(str)); @@ -6653,7 +6654,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2880 "parser.y" +#line 2881 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node), mkstringnode(">")); } @@ -6666,7 +6667,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2883 "parser.y" +#line 2884 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node),(yyvsp[(2) - (2)].node)); } @@ -6679,7 +6680,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2886 "parser.y" +#line 2887 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (3)].node), mkaddnode((yyvsp[(2) - (3)].node),(yyvsp[(3) - (3)].node))); } @@ -6692,7 +6693,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2889 "parser.y" +#line 2890 "parser.y" { (yyval.node) = mkstringnode((yyvsp[(1) - (1)].id)); } @@ -6705,7 +6706,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2892 "parser.y" +#line 2893 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -6718,7 +6719,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2896 "parser.y" +#line 2897 "parser.y" { (yyval.node) = mkstringnode(""); } @@ -6731,7 +6732,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2899 "parser.y" +#line 2900 "parser.y" { (yyval.node) = mkaddnode(mkstringnode(" "),(yyvsp[(1) - (1)].node)); } @@ -6744,7 +6745,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2903 "parser.y" +#line 2904 "parser.y" { //$$ = allocprintf("<%s%s/>", $2, $3, $5, $8); (yyval.node) = mkaddnode(mkaddnode(mkaddnode(mkstringnode("<"),(yyvsp[(2) - (6)].node)),(yyvsp[(3) - (6)].node)),mkstringnode("/>")); @@ -6758,7 +6759,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2907 "parser.y" +#line 2908 "parser.y" { //$$ = allocprintf("<%s%s>%s", $2, $3, $5, $8); (yyval.node) = mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode( @@ -6773,7 +6774,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2912 "parser.y" +#line 2913 "parser.y" { //$$ = allocprintf("<%s%s>%s%s", $2, $3, $5, $6, $9); (yyval.node) = mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode( @@ -6788,7 +6789,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2918 "parser.y" +#line 2919 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -6801,7 +6802,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2921 "parser.y" +#line 2922 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node), mkaddnode(mkstringnode(" "),(yyvsp[(2) - (2)].node))); } @@ -6814,7 +6815,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2924 "parser.y" +#line 2925 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -6827,7 +6828,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2927 "parser.y" +#line 2928 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); (yyval.node) = mkaddnode((yyvsp[(1) - (3)].node), mkstringnode(concat2("=",str))); @@ -6842,7 +6843,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2932 "parser.y" +#line 2933 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (3)].node), mkaddnode(mkstringnode("=\""), mkaddnode((yyvsp[(3) - (3)].node), mkstringnode("\"")))); } @@ -6855,7 +6856,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2935 "parser.y" +#line 2936 "parser.y" { (yyval.node) = mkaddnode(mkaddnode(mkstringnode(concat2((yyvsp[(1) - (3)].id),"=\"")), (yyvsp[(3) - (3)].node)), mkstringnode("\"")); } @@ -6868,7 +6869,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2938 "parser.y" +#line 2939 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); (yyval.node)=mkstringnode(allocprintf("%s=%s", (yyvsp[(1) - (3)].id),str)); @@ -6884,7 +6885,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2948 "parser.y" +#line 2949 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6898,7 +6899,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2952 "parser.y" +#line 2953 "parser.y" { PASS12 (yyval.params)=(yyvsp[(1) - (1)].params); @@ -6912,7 +6913,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2958 "parser.y" +#line 2959 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6928,7 +6929,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2964 "parser.y" +#line 2965 "parser.y" { PASS12 (yyval.params) =(yyvsp[(1) - (4)].params); @@ -6944,7 +6945,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2972 "parser.y" +#line 2973 "parser.y" { PASS12 (yyval.params) = (yyvsp[(1) - (3)].params); @@ -6959,7 +6960,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2977 "parser.y" +#line 2978 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6974,7 +6975,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2983 "parser.y" +#line 2984 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -6992,7 +6993,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2991 "parser.y" +#line 2992 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -7010,7 +7011,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3001 "parser.y" +#line 3002 "parser.y" {PASS12 (yyval.token)=0;} } break; @@ -7021,7 +7022,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3004 "parser.y" +#line 3005 "parser.y" {PASS12 startfunction(&(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));} } break; @@ -7032,7 +7033,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3005 "parser.y" +#line 3006 "parser.y" { PASS1 endfunction(&(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),0,0); @@ -7056,7 +7057,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3021 "parser.y" +#line 3022 "parser.y" {PASS12 (yyval.id)=0;} } break; @@ -7067,7 +7068,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3023 "parser.y" +#line 3024 "parser.y" {PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));} } break; @@ -7078,7 +7079,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3024 "parser.y" +#line 3025 "parser.y" { PASS1 endfunction(0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),0,0); @@ -7106,7 +7107,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3046 "parser.y" +#line 3047 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -7134,7 +7135,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3065 "parser.y" +#line 3066 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -7157,7 +7158,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3082 "parser.y" +#line 3083 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));} } break; @@ -7168,7 +7169,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3083 "parser.y" +#line 3084 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));} } break; @@ -7179,7 +7180,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3085 "parser.y" +#line 3086 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);} } break; @@ -7190,7 +7191,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3086 "parser.y" +#line 3087 "parser.y" {PASS12 (yyval.classinfo)=TYPE_ANY;} } break; @@ -7201,7 +7202,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3087 "parser.y" +#line 3088 "parser.y" {PASS12 (yyval.classinfo)=TYPE_VOID;} } break; @@ -7212,7 +7213,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3096 "parser.y" +#line 3097 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; @@ -7223,7 +7224,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3097 "parser.y" +#line 3098 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; @@ -7234,7 +7235,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3101 "parser.y" +#line 3102 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; @@ -7245,7 +7246,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3102 "parser.y" +#line 3103 "parser.y" {(yyval.value_list)=(yyvsp[(2) - (3)].value_list);} } break; @@ -7256,7 +7257,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3104 "parser.y" +#line 3105 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; @@ -7267,7 +7268,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3108 "parser.y" +#line 3109 "parser.y" {(yyval.value_list).number=1; (yyval.value_list).cc = (yyvsp[(1) - (1)].value).c; } @@ -7280,7 +7281,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3112 "parser.y" +#line 3113 "parser.y" {(yyval.value_list) = (yyvsp[(1) - (2)].value_list);} } break; @@ -7291,7 +7292,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3113 "parser.y" +#line 3114 "parser.y" { (yyval.value_list).number= (yyvsp[(1) - (2)].value_list).number+1; (yyval.value_list).cc = code_append((yyvsp[(1) - (2)].value_list).cc, (yyvsp[(2) - (2)].value).c); @@ -7305,7 +7306,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3119 "parser.y" +#line 3120 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (4)].node)); (yyval.value).c = v.c; @@ -7357,7 +7358,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3166 "parser.y" +#line 3167 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); @@ -7416,7 +7417,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3216 "parser.y" +#line 3217 "parser.y" { if(!state->cls) syntaxerror("super() not allowed outside of a class"); if(!state->method) syntaxerror("super() not allowed outside of a function"); @@ -7446,7 +7447,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3237 "parser.y" +#line 3238 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (2)].node)); (yyval.value).c = v.c; @@ -7477,7 +7478,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3259 "parser.y" +#line 3260 "parser.y" { (yyval.code) = abc_returnvoid(0); } @@ -7490,7 +7491,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3262 "parser.y" +#line 3263 "parser.y" { (yyval.code) = (yyvsp[(2) - (2)].value).c; (yyval.code) = abc_returnvalue((yyval.code)); @@ -7504,7 +7505,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3269 "parser.y" +#line 3270 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7517,7 +7518,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3272 "parser.y" +#line 3273 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7530,7 +7531,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3275 "parser.y" +#line 3276 "parser.y" { (yyval.node) = mkmultinode(&node_comma, (yyvsp[(1) - (1)].node)); } @@ -7543,7 +7544,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3278 "parser.y" +#line 3279 "parser.y" { (yyval.node) = multinode_extend((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); } @@ -7556,7 +7557,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3281 "parser.y" +#line 3282 "parser.y" { (yyval.code) = node_exec((yyvsp[(1) - (1)].node)); } @@ -7569,7 +7570,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3284 "parser.y" +#line 3285 "parser.y" { (yyval.code) = (yyvsp[(1) - (3)].code); (yyval.code) = code_append((yyval.code), node_exec((yyvsp[(3) - (3)].node))); @@ -7583,7 +7584,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3289 "parser.y" +#line 3290 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; @@ -7594,7 +7595,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3290 "parser.y" +#line 3291 "parser.y" {(yyval.value_list)=(yyvsp[(1) - (1)].value_list);} } break; @@ -7605,7 +7606,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3292 "parser.y" +#line 3293 "parser.y" {(yyval.code)=abc_pushstring(0,(yyvsp[(1) - (1)].id));} } break; @@ -7616,7 +7617,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3293 "parser.y" +#line 3294 "parser.y" {(yyval.code)=abc_pushstring2(0,&(yyvsp[(1) - (1)].str));} } break; @@ -7627,7 +7628,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3294 "parser.y" +#line 3295 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; @@ -7638,7 +7639,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3295 "parser.y" +#line 3296 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; @@ -7649,7 +7650,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3296 "parser.y" +#line 3297 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; @@ -7660,7 +7661,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3298 "parser.y" +#line 3299 "parser.y" { (yyval.value_list).cc = 0; (yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].code)); @@ -7676,7 +7677,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3304 "parser.y" +#line 3305 "parser.y" { (yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc; (yyval.value_list).number = (yyvsp[(1) - (5)].value_list).number+2; @@ -7692,7 +7693,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3313 "parser.y" +#line 3314 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7703,7 +7704,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3314 "parser.y" +#line 3315 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7714,7 +7715,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3315 "parser.y" +#line 3316 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7725,7 +7726,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3316 "parser.y" +#line 3317 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7736,7 +7737,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3317 "parser.y" +#line 3318 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7747,7 +7748,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3318 "parser.y" +#line 3319 "parser.y" {(yyval.node) = (yyvsp[(1) - (1)].node);} } break; @@ -7758,7 +7759,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3320 "parser.y" +#line 3321 "parser.y" { (yyval.node) = mkconstnode((yyvsp[(1) - (1)].constant)); } @@ -7771,7 +7772,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3324 "parser.y" +#line 3325 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -7784,7 +7785,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3329 "parser.y" +#line 3330 "parser.y" { typedcode_t v; v.c = 0; @@ -7811,7 +7812,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3347 "parser.y" +#line 3348 "parser.y" { PASS1 state->method->need_arguments = 1; @@ -7830,7 +7831,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3358 "parser.y" +#line 3359 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7848,7 +7849,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3368 "parser.y" +#line 3369 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7866,7 +7867,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3377 "parser.y" +#line 3378 "parser.y" {(yyval.node) = mknode2(&node_lt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7877,7 +7878,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3378 "parser.y" +#line 3379 "parser.y" {(yyval.node) = mknode2(&node_gt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7888,7 +7889,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3379 "parser.y" +#line 3380 "parser.y" {(yyval.node) = mknode2(&node_le,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7899,7 +7900,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3380 "parser.y" +#line 3381 "parser.y" {(yyval.node) = mknode2(&node_ge,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7910,7 +7911,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3381 "parser.y" +#line 3382 "parser.y" {(yyval.node) = mknode2(&node_eqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7921,7 +7922,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3382 "parser.y" +#line 3383 "parser.y" {(yyval.node) = mknode2(&node_eqeqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7932,7 +7933,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3383 "parser.y" +#line 3384 "parser.y" {(yyval.node) = mknode2(&node_noteqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7943,7 +7944,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3384 "parser.y" +#line 3385 "parser.y" {(yyval.node) = mknode2(&node_noteq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7954,7 +7955,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3385 "parser.y" +#line 3386 "parser.y" {(yyval.node) = mknode2(&node_oror,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7965,7 +7966,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3386 "parser.y" +#line 3387 "parser.y" {(yyval.node) = mknode2(&node_andand,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7976,7 +7977,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3387 "parser.y" +#line 3388 "parser.y" {(yyval.node) = mknode1(&node_not, (yyvsp[(2) - (2)].node));} } break; @@ -7987,7 +7988,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3388 "parser.y" +#line 3389 "parser.y" {(yyval.node) = mknode1(&node_bitnot, (yyvsp[(2) - (2)].node));} } break; @@ -7998,7 +7999,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3389 "parser.y" +#line 3390 "parser.y" {(yyval.node) = mknode2(&node_bitand, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8009,7 +8010,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3390 "parser.y" +#line 3391 "parser.y" {(yyval.node) = mknode2(&node_bitxor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8020,7 +8021,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3391 "parser.y" +#line 3392 "parser.y" {(yyval.node) = mknode2(&node_bitor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8031,7 +8032,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3392 "parser.y" +#line 3393 "parser.y" {(yyval.node) = mknode2(&node_shr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8042,7 +8043,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3393 "parser.y" +#line 3394 "parser.y" {(yyval.node) = mknode2(&node_ushr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8053,7 +8054,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3394 "parser.y" +#line 3395 "parser.y" {(yyval.node) = mknode2(&node_shl, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8064,7 +8065,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3395 "parser.y" +#line 3396 "parser.y" {(yyval.node) = mknode2(&node_div, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8075,7 +8076,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3396 "parser.y" +#line 3397 "parser.y" {(yyval.node) = mknode2(&node_mod, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8086,7 +8087,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3397 "parser.y" +#line 3398 "parser.y" {(yyval.node) = mknode2(&node_plus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8097,7 +8098,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3398 "parser.y" +#line 3399 "parser.y" {(yyval.node) = mknode2(&node_minus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8108,7 +8109,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3399 "parser.y" +#line 3400 "parser.y" {(yyval.node) = mknode2(&node_multiply, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8119,7 +8120,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3400 "parser.y" +#line 3401 "parser.y" {(yyval.node) = mknode2(&node_in, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8130,7 +8131,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3401 "parser.y" +#line 3402 "parser.y" {(yyval.node) = mknode2(&node_as, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8141,7 +8142,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3402 "parser.y" +#line 3403 "parser.y" {(yyval.node) = mknode2(&node_instanceof, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8152,7 +8153,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3403 "parser.y" +#line 3404 "parser.y" {(yyval.node) = mknode2(&node_is, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8163,7 +8164,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3404 "parser.y" +#line 3405 "parser.y" {(yyval.node) = mknode1(&node_typeof, (yyvsp[(2) - (2)].node));} } break; @@ -8174,7 +8175,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3405 "parser.y" +#line 3406 "parser.y" {(yyval.node) = mknode1(&node_void, (yyvsp[(2) - (2)].node));} } break; @@ -8185,7 +8186,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3406 "parser.y" +#line 3407 "parser.y" { (yyval.node) = mkconstnode(constant_new_undefined());} } break; @@ -8196,7 +8197,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3407 "parser.y" +#line 3408 "parser.y" { (yyval.node)=(yyvsp[(2) - (3)].node);} } break; @@ -8207,7 +8208,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3408 "parser.y" +#line 3409 "parser.y" {(yyval.node) = mknode1(&node_neg, (yyvsp[(2) - (2)].node));} } break; @@ -8218,7 +8219,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3409 "parser.y" +#line 3410 "parser.y" {(yyval.node) = mknode2(&node_arraylookup, (yyvsp[(1) - (4)].node),(yyvsp[(3) - (4)].node));} } break; @@ -8229,7 +8230,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3410 "parser.y" +#line 3411 "parser.y" {(yyval.node) = mknode2(&node_muleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8240,7 +8241,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3411 "parser.y" +#line 3412 "parser.y" {(yyval.node) = mknode2(&node_modeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8251,7 +8252,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3412 "parser.y" +#line 3413 "parser.y" {(yyval.node) = mknode2(&node_shleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8262,7 +8263,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3413 "parser.y" +#line 3414 "parser.y" {(yyval.node) = mknode2(&node_shreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8273,7 +8274,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3414 "parser.y" +#line 3415 "parser.y" {(yyval.node) = mknode2(&node_ushreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8284,7 +8285,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3415 "parser.y" +#line 3416 "parser.y" { (yyval.node) = mknode2(&node_diveq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8295,7 +8296,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3416 "parser.y" +#line 3417 "parser.y" { (yyval.node) = mknode2(&node_bitoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8306,7 +8307,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3417 "parser.y" +#line 3418 "parser.y" { (yyval.node) = mknode2(&node_bitxoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8317,7 +8318,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3418 "parser.y" +#line 3419 "parser.y" { (yyval.node) = mknode2(&node_bitandeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8328,7 +8329,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3419 "parser.y" +#line 3420 "parser.y" { (yyval.node) = mknode2(&node_pluseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8339,7 +8340,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3420 "parser.y" +#line 3421 "parser.y" { (yyval.node) = mknode2(&node_minuseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8350,7 +8351,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3421 "parser.y" +#line 3422 "parser.y" { (yyval.node) = mknode2(&node_assign, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8361,7 +8362,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3422 "parser.y" +#line 3423 "parser.y" { (yyval.node) = mknode3(&node_tenary, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));} } break; @@ -8372,7 +8373,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3424 "parser.y" +#line 3425 "parser.y" { (yyval.node) = mknode1(&node_rplusplus, (yyvsp[(1) - (2)].node));} } break; @@ -8383,7 +8384,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3425 "parser.y" +#line 3426 "parser.y" { (yyval.node) = mknode1(&node_rminusminus, (yyvsp[(1) - (2)].node));} } break; @@ -8394,7 +8395,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3426 "parser.y" +#line 3427 "parser.y" {(yyval.node) = mknode1(&node_lplusplus, (yyvsp[(2) - (2)].node)); } } break; @@ -8405,7 +8406,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3427 "parser.y" +#line 3428 "parser.y" {(yyval.node) = mknode1(&node_lminusminus, (yyvsp[(2) - (2)].node)); } } break; @@ -8416,12 +8417,12 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3430 "parser.y" +#line 3431 "parser.y" { if(!state->cls->info) syntaxerror("super keyword not allowed outside a class"); classinfo_t*t = state->cls->info->superclass; if(!t) t = TYPE_OBJECT; - memberinfo_t*f = findmember_nsset(t, (yyvsp[(3) - (3)].id), 1); + memberinfo_t*f = findmember_nsset(t, (yyvsp[(3) - (3)].id), 1, 0); MEMBER_MULTINAME(m, f, (yyvsp[(3) - (3)].id)); typedcode_t v; v.c = 0; @@ -8439,7 +8440,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3444 "parser.y" +#line 3445 "parser.y" { typedcode_t v; multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(2) - (2)].id)}; @@ -8456,7 +8457,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3452 "parser.y" +#line 3453 "parser.y" {PASS12 new_state();state->xmlfilter=1;} } break; @@ -8467,7 +8468,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3452 "parser.y" +#line 3453 "parser.y" { PASS1 old_state(); PASS2 @@ -8530,7 +8531,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3506 "parser.y" +#line 3507 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; @@ -8541,7 +8542,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3507 "parser.y" +#line 3508 "parser.y" {(yyval.id)="*";} } break; @@ -8552,7 +8553,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3508 "parser.y" +#line 3509 "parser.y" {(yyval.id)=(char*)(yyvsp[(1) - (1)].id);} } break; @@ -8563,7 +8564,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3510 "parser.y" +#line 3511 "parser.y" {(yyval.id)="*";} } break; @@ -8574,7 +8575,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3550 "parser.y" +#line 3551 "parser.y" { (yyval.node) = get_descendants((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(5) - (5)].id), 0, 0); } @@ -8587,7 +8588,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3553 "parser.y" +#line 3554 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (3)].node)); multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)}; @@ -8604,7 +8605,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3560 "parser.y" +#line 3561 "parser.y" { (yyval.node) = get_descendants((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(5) - (5)].id), 1, 0); } @@ -8617,7 +8618,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3563 "parser.y" +#line 3564 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (5)].node)); typedcode_t w = node_read((yyvsp[(4) - (5)].node)); @@ -8637,7 +8638,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3574 "parser.y" +#line 3575 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8654,7 +8655,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3582 "parser.y" +#line 3583 "parser.y" { (yyval.node) = get_descendants((yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].id), (yyvsp[(6) - (6)].id), 0, 1); } @@ -8667,7 +8668,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3586 "parser.y" +#line 3587 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8684,7 +8685,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3593 "parser.y" +#line 3594 "parser.y" { (yyval.node) = get_descendants((yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].id), (yyvsp[(6) - (6)].id), 1, 1); } @@ -8697,7 +8698,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3597 "parser.y" +#line 3598 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8717,7 +8718,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3607 "parser.y" +#line 3608 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8737,7 +8738,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3618 "parser.y" +#line 3619 "parser.y" { typedcode_t v1 = node_read((yyvsp[(1) - (3)].node)); (yyval.value).c = v1.c; @@ -8747,7 +8748,7 @@ PASS12 t = t->data; is_static = 1; } - if(TYPE_IS_XML(t)) { + if(TYPE_IS_XML(t) && !findmember_nsset(t, (yyvsp[(3) - (3)].id), 1, is_static)) { multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)}; (yyval.value).c = abc_getproperty2((yyval.value).c, &m); (yyval.value).c = abc_coerce_a((yyval.value).c); @@ -8756,7 +8757,7 @@ PASS12 if(t->subtype==INFOTYPE_UNRESOLVED) { syntaxerror("syntaxerror: trying to resolve property '%s' on incomplete object '%s'", (yyvsp[(3) - (3)].id), t->name); } - memberinfo_t*f = findmember_nsset(t, (yyvsp[(3) - (3)].id), 1); + memberinfo_t*f = findmember_nsset(t, (yyvsp[(3) - (3)].id), 1, is_static); char noslot = 0; if(f && !is_static != !(f->flags&FLAG_STATIC)) noslot=1; @@ -8811,7 +8812,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3805 "parser.y" +#line 3806 "parser.y" { PASS2 (yyval.node) = resolve_identifier((yyvsp[(1) - (1)].id)); @@ -8825,7 +8826,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3809 "parser.y" +#line 3810 "parser.y" { PASS1 /* Queue unresolved identifiers for checking against the parent @@ -8857,7 +8858,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3843 "parser.y" +#line 3844 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8874,7 +8875,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3850 "parser.y" +#line 3851 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8891,7 +8892,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3857 "parser.y" +#line 3858 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8908,7 +8909,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3864 "parser.y" +#line 3865 "parser.y" { PASS12 trie_put(active_namespaces, (unsigned char*)(yyvsp[(2) - (2)].namespace_decl)->name, (void*)(yyvsp[(2) - (2)].namespace_decl)->url); @@ -8939,7 +8940,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3887 "parser.y" +#line 3888 "parser.y" { (yyval.code) = 0; (yyval.code) = code_append((yyval.code), node_read((yyvsp[(4) - (4)].node)).c); @@ -8954,7 +8955,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3893 "parser.y" +#line 3894 "parser.y" { PASS12 const char*url = (yyvsp[(3) - (3)].classinfo)->name; @@ -8983,7 +8984,7 @@ PASS12 /* Line 1464 of skeleton.m4 */ -#line 8987 "parser.tab.c" +#line 8988 "parser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);