From 2b940b7ef772640b5980b78c645f89cbd216d81f Mon Sep 17 00:00:00 2001 From: Jacob Bower Date: Mon, 15 Aug 2016 02:25:50 -0700 Subject: [PATCH] Make HHVM grammar reusable Summary: A few small tweaks to make it possible to build a different parser on top of the existing HHVM grammar. It looks this might have been standard/tried before judging from the existing `HPHP_PARSER_NS` macro? Reviewed By: markw65 Differential Revision: D3668271 fbshipit-source-id: 2ccf617022e6462a4afb085dbd3c237df9b03988 --- hphp/parser/hphp.5.tab.cpp | 2177 ++++++++++++++++++++++---------------------- hphp/parser/hphp.7.tab.cpp | 2175 +++++++++++++++++++++---------------------- hphp/parser/hphp.y | 13 + 3 files changed, 2202 insertions(+), 2163 deletions(-) diff --git a/hphp/parser/hphp.5.tab.cpp b/hphp/parser/hphp.5.tab.cpp index a2b07bca31f..da928dd3d04 100644 --- a/hphp/parser/hphp.5.tab.cpp +++ b/hphp/parser/hphp.5.tab.cpp @@ -79,6 +79,15 @@ /* Line 189 of yacc.c */ #line 1 "hphp.y" + +/* By default this grammar is set up to be used by HPHP's compile parser. + * However, it can be used to make parsers for different purposes by + * making a Parser implementation with the same interface as + * HPHP::Compiler::Parser in a header file specified by + * PARSER_DEFINITIONS_HEADER, and specifying an alternate namespace with + * HPHP_PARSER_NS. + */ + // macros for bison #define YYSTYPE HPHP::HPHP_PARSER_NS::Token #define YYSTYPE_IS_TRIVIAL false @@ -88,7 +97,11 @@ #define YYINITDEPTH 500 #define YYLEX_PARAM _p +#ifdef PARSER_DEFINITIONS_HEADER +#include PARSER_DEFINITIONS_HEADER +#else #include "hphp/compiler/parser/parser.h" +#endif #include #include @@ -650,7 +663,7 @@ static int yylex(YYSTYPE* token, HPHP::Location* loc, Parser* _p) { /* Line 189 of yacc.c */ -#line 653 "hphp.5.tab.cpp" +#line 666 "hphp.5.tab.cpp" /* Enabling traces. */ #ifndef YYDEBUG @@ -878,7 +891,7 @@ typedef struct YYLTYPE /* Line 264 of yacc.c */ -#line 881 "hphp.5.tab.cpp" +#line 894 "hphp.5.tab.cpp" #ifdef short # undef short @@ -1627,111 +1640,111 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 735, 735, 735, 744, 746, 749, 750, 751, 752, - 753, 754, 755, 758, 760, 760, 762, 762, 764, 766, - 769, 772, 776, 780, 784, 789, 790, 791, 792, 793, - 794, 795, 796, 797, 798, 802, 803, 804, 805, 806, - 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, - 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, - 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, - 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, - 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, - 857, 858, 859, 860, 861, 862, 863, 867, 871, 872, - 876, 877, 882, 884, 889, 894, 895, 896, 898, 903, - 905, 910, 915, 917, 919, 924, 925, 929, 930, 932, - 936, 943, 950, 954, 960, 962, 965, 966, 967, 968, - 971, 972, 976, 981, 981, 987, 987, 994, 993, 999, - 999, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, - 1013, 1014, 1015, 1016, 1017, 1018, 1022, 1020, 1029, 1027, - 1034, 1044, 1038, 1048, 1046, 1050, 1051, 1055, 1056, 1057, - 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1074, - 1074, 1079, 1085, 1089, 1089, 1097, 1098, 1102, 1103, 1107, - 1113, 1111, 1126, 1123, 1139, 1136, 1153, 1152, 1161, 1159, - 1171, 1170, 1189, 1187, 1206, 1205, 1214, 1212, 1223, 1223, - 1230, 1229, 1241, 1239, 1252, 1253, 1257, 1260, 1263, 1264, - 1265, 1268, 1269, 1272, 1274, 1277, 1278, 1281, 1282, 1285, - 1286, 1290, 1291, 1296, 1297, 1300, 1301, 1302, 1306, 1307, - 1311, 1312, 1316, 1317, 1321, 1322, 1327, 1328, 1334, 1335, - 1336, 1337, 1340, 1343, 1345, 1348, 1349, 1353, 1355, 1358, - 1361, 1364, 1365, 1368, 1369, 1373, 1379, 1385, 1392, 1394, - 1399, 1404, 1410, 1414, 1418, 1422, 1427, 1432, 1437, 1442, - 1448, 1457, 1462, 1467, 1473, 1475, 1479, 1483, 1488, 1492, - 1495, 1498, 1502, 1506, 1510, 1514, 1519, 1527, 1529, 1532, - 1533, 1534, 1535, 1537, 1539, 1544, 1545, 1548, 1549, 1550, - 1554, 1555, 1557, 1558, 1562, 1564, 1567, 1571, 1577, 1579, - 1582, 1582, 1586, 1585, 1589, 1591, 1594, 1597, 1595, 1611, - 1607, 1621, 1623, 1625, 1627, 1629, 1631, 1633, 1637, 1638, - 1639, 1642, 1648, 1652, 1658, 1661, 1666, 1668, 1673, 1678, - 1682, 1683, 1687, 1688, 1690, 1692, 1698, 1699, 1701, 1705, - 1706, 1711, 1715, 1716, 1720, 1721, 1725, 1727, 1733, 1738, - 1739, 1741, 1745, 1746, 1747, 1748, 1752, 1753, 1754, 1755, - 1756, 1757, 1759, 1764, 1767, 1768, 1772, 1773, 1777, 1778, - 1781, 1782, 1785, 1786, 1789, 1790, 1794, 1795, 1796, 1797, - 1798, 1799, 1800, 1804, 1805, 1808, 1809, 1810, 1813, 1815, - 1817, 1818, 1821, 1823, 1827, 1829, 1833, 1837, 1841, 1846, - 1847, 1849, 1850, 1851, 1852, 1855, 1859, 1860, 1864, 1865, - 1869, 1870, 1871, 1872, 1876, 1880, 1885, 1889, 1893, 1897, - 1901, 1906, 1907, 1908, 1909, 1910, 1914, 1916, 1917, 1918, - 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, - 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, - 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, - 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, - 1961, 1962, 1963, 1964, 1966, 1967, 1969, 1970, 1972, 1973, - 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, - 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, - 1994, 1998, 2002, 2007, 2006, 2021, 2019, 2037, 2036, 2055, - 2054, 2073, 2072, 2090, 2090, 2105, 2105, 2123, 2124, 2125, - 2130, 2132, 2136, 2140, 2146, 2150, 2156, 2158, 2162, 2164, - 2168, 2172, 2173, 2177, 2179, 2183, 2185, 2186, 2189, 2193, - 2195, 2199, 2202, 2207, 2209, 2213, 2216, 2221, 2225, 2229, - 2233, 2237, 2241, 2245, 2249, 2253, 2257, 2259, 2263, 2265, - 2269, 2271, 2275, 2282, 2289, 2291, 2296, 2297, 2298, 2299, - 2300, 2301, 2302, 2304, 2305, 2309, 2310, 2311, 2312, 2316, - 2322, 2331, 2344, 2345, 2348, 2351, 2354, 2355, 2358, 2362, - 2365, 2368, 2375, 2376, 2380, 2381, 2383, 2388, 2389, 2390, - 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, - 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, - 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, - 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, - 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, - 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, - 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, - 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2472, 2477, - 2478, 2482, 2483, 2484, 2485, 2487, 2491, 2492, 2503, 2504, - 2506, 2518, 2519, 2520, 2524, 2525, 2526, 2530, 2531, 2532, - 2535, 2537, 2541, 2542, 2543, 2544, 2546, 2547, 2548, 2549, - 2550, 2551, 2552, 2553, 2554, 2555, 2558, 2563, 2564, 2565, - 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2578, - 2580, 2582, 2584, 2586, 2587, 2588, 2589, 2590, 2591, 2592, - 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, - 2604, 2606, 2608, 2610, 2611, 2614, 2615, 2619, 2623, 2625, - 2629, 2630, 2634, 2637, 2640, 2643, 2649, 2650, 2651, 2652, - 2653, 2654, 2655, 2660, 2662, 2666, 2667, 2670, 2671, 2675, - 2678, 2680, 2682, 2686, 2687, 2688, 2689, 2692, 2696, 2697, - 2698, 2699, 2703, 2705, 2712, 2713, 2714, 2715, 2716, 2717, - 2719, 2720, 2722, 2723, 2724, 2728, 2730, 2734, 2736, 2739, - 2742, 2744, 2746, 2749, 2751, 2755, 2757, 2760, 2763, 2769, - 2771, 2774, 2775, 2780, 2783, 2787, 2787, 2792, 2795, 2796, - 2800, 2801, 2805, 2806, 2807, 2811, 2813, 2821, 2822, 2826, - 2828, 2836, 2837, 2841, 2842, 2847, 2849, 2854, 2865, 2879, - 2891, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2922, 2931, - 2933, 2935, 2939, 2940, 2941, 2942, 2943, 2959, 2960, 2962, - 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2980, 2985, - 2989, 2990, 2994, 2997, 3004, 3008, 3017, 3024, 3026, 3032, - 3034, 3035, 3039, 3040, 3041, 3048, 3049, 3054, 3055, 3060, - 3061, 3062, 3063, 3074, 3077, 3080, 3081, 3082, 3083, 3094, - 3098, 3099, 3100, 3102, 3103, 3104, 3108, 3110, 3113, 3115, - 3116, 3117, 3118, 3121, 3123, 3124, 3128, 3130, 3133, 3135, - 3136, 3137, 3141, 3143, 3146, 3149, 3151, 3153, 3157, 3158, - 3160, 3161, 3167, 3168, 3170, 3180, 3182, 3184, 3187, 3188, - 3189, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, - 3202, 3203, 3207, 3208, 3212, 3214, 3222, 3224, 3228, 3232, - 3237, 3241, 3249, 3250, 3254, 3255, 3261, 3262, 3271, 3272, - 3280, 3283, 3287, 3290, 3295, 3300, 3302, 3303, 3304, 3308, - 3309, 3313, 3314, 3317, 3322, 3323, 3327, 3330, 3332, 3336, - 3342, 3343, 3344, 3348, 3352, 3362, 3370, 3372, 3376, 3378, - 3383, 3389, 3392, 3397, 3402, 3404, 3411, 3414, 3417, 3418, - 3421, 3424, 3425, 3430, 3432, 3436, 3442, 3452, 3453 + 0, 748, 748, 748, 757, 759, 762, 763, 764, 765, + 766, 767, 768, 771, 773, 773, 775, 775, 777, 779, + 782, 785, 789, 793, 797, 802, 803, 804, 805, 806, + 807, 808, 809, 810, 811, 815, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, + 870, 871, 872, 873, 874, 875, 876, 880, 884, 885, + 889, 890, 895, 897, 902, 907, 908, 909, 911, 916, + 918, 923, 928, 930, 932, 937, 938, 942, 943, 945, + 949, 956, 963, 967, 973, 975, 978, 979, 980, 981, + 984, 985, 989, 994, 994, 1000, 1000, 1007, 1006, 1012, + 1012, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1035, 1033, 1042, 1040, + 1047, 1057, 1051, 1061, 1059, 1063, 1064, 1068, 1069, 1070, + 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1087, + 1087, 1092, 1098, 1102, 1102, 1110, 1111, 1115, 1116, 1120, + 1126, 1124, 1139, 1136, 1152, 1149, 1166, 1165, 1174, 1172, + 1184, 1183, 1202, 1200, 1219, 1218, 1227, 1225, 1236, 1236, + 1243, 1242, 1254, 1252, 1265, 1266, 1270, 1273, 1276, 1277, + 1278, 1281, 1282, 1285, 1287, 1290, 1291, 1294, 1295, 1298, + 1299, 1303, 1304, 1309, 1310, 1313, 1314, 1315, 1319, 1320, + 1324, 1325, 1329, 1330, 1334, 1335, 1340, 1341, 1347, 1348, + 1349, 1350, 1353, 1356, 1358, 1361, 1362, 1366, 1368, 1371, + 1374, 1377, 1378, 1381, 1382, 1386, 1392, 1398, 1405, 1407, + 1412, 1417, 1423, 1427, 1431, 1435, 1440, 1445, 1450, 1455, + 1461, 1470, 1475, 1480, 1486, 1488, 1492, 1496, 1501, 1505, + 1508, 1511, 1515, 1519, 1523, 1527, 1532, 1540, 1542, 1545, + 1546, 1547, 1548, 1550, 1552, 1557, 1558, 1561, 1562, 1563, + 1567, 1568, 1570, 1571, 1575, 1577, 1580, 1584, 1590, 1592, + 1595, 1595, 1599, 1598, 1602, 1604, 1607, 1610, 1608, 1624, + 1620, 1634, 1636, 1638, 1640, 1642, 1644, 1646, 1650, 1651, + 1652, 1655, 1661, 1665, 1671, 1674, 1679, 1681, 1686, 1691, + 1695, 1696, 1700, 1701, 1703, 1705, 1711, 1712, 1714, 1718, + 1719, 1724, 1728, 1729, 1733, 1734, 1738, 1740, 1746, 1751, + 1752, 1754, 1758, 1759, 1760, 1761, 1765, 1766, 1767, 1768, + 1769, 1770, 1772, 1777, 1780, 1781, 1785, 1786, 1790, 1791, + 1794, 1795, 1798, 1799, 1802, 1803, 1807, 1808, 1809, 1810, + 1811, 1812, 1813, 1817, 1818, 1821, 1822, 1823, 1826, 1828, + 1830, 1831, 1834, 1836, 1840, 1842, 1846, 1850, 1854, 1859, + 1860, 1862, 1863, 1864, 1865, 1868, 1872, 1873, 1877, 1878, + 1882, 1883, 1884, 1885, 1889, 1893, 1898, 1902, 1906, 1910, + 1914, 1919, 1920, 1921, 1922, 1923, 1927, 1929, 1930, 1931, + 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, + 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, + 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, + 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, + 1974, 1975, 1976, 1977, 1979, 1980, 1982, 1983, 1985, 1986, + 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2011, 2015, 2020, 2019, 2034, 2032, 2050, 2049, 2068, + 2067, 2086, 2085, 2103, 2103, 2118, 2118, 2136, 2137, 2138, + 2143, 2145, 2149, 2153, 2159, 2163, 2169, 2171, 2175, 2177, + 2181, 2185, 2186, 2190, 2192, 2196, 2198, 2199, 2202, 2206, + 2208, 2212, 2215, 2220, 2222, 2226, 2229, 2234, 2238, 2242, + 2246, 2250, 2254, 2258, 2262, 2266, 2270, 2272, 2276, 2278, + 2282, 2284, 2288, 2295, 2302, 2304, 2309, 2310, 2311, 2312, + 2313, 2314, 2315, 2317, 2318, 2322, 2323, 2324, 2325, 2329, + 2335, 2344, 2357, 2358, 2361, 2364, 2367, 2368, 2371, 2375, + 2378, 2381, 2388, 2389, 2393, 2394, 2396, 2401, 2402, 2403, + 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, + 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, + 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, + 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, + 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, + 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, + 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, + 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2485, 2490, + 2491, 2495, 2496, 2497, 2498, 2500, 2504, 2505, 2516, 2517, + 2519, 2531, 2532, 2533, 2537, 2538, 2539, 2543, 2544, 2545, + 2548, 2550, 2554, 2555, 2556, 2557, 2559, 2560, 2561, 2562, + 2563, 2564, 2565, 2566, 2567, 2568, 2571, 2576, 2577, 2578, + 2580, 2581, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2591, + 2593, 2595, 2597, 2599, 2600, 2601, 2602, 2603, 2604, 2605, + 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, + 2617, 2619, 2621, 2623, 2624, 2627, 2628, 2632, 2636, 2638, + 2642, 2643, 2647, 2650, 2653, 2656, 2662, 2663, 2664, 2665, + 2666, 2667, 2668, 2673, 2675, 2679, 2680, 2683, 2684, 2688, + 2691, 2693, 2695, 2699, 2700, 2701, 2702, 2705, 2709, 2710, + 2711, 2712, 2716, 2718, 2725, 2726, 2727, 2728, 2729, 2730, + 2732, 2733, 2735, 2736, 2737, 2741, 2743, 2747, 2749, 2752, + 2755, 2757, 2759, 2762, 2764, 2768, 2770, 2773, 2776, 2782, + 2784, 2787, 2788, 2793, 2796, 2800, 2800, 2805, 2808, 2809, + 2813, 2814, 2818, 2819, 2820, 2824, 2826, 2834, 2835, 2839, + 2841, 2849, 2850, 2854, 2855, 2860, 2862, 2867, 2878, 2892, + 2904, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2935, 2944, + 2946, 2948, 2952, 2953, 2954, 2955, 2956, 2972, 2973, 2975, + 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2993, 2998, + 3002, 3003, 3007, 3010, 3017, 3021, 3030, 3037, 3039, 3045, + 3047, 3048, 3052, 3053, 3054, 3061, 3062, 3067, 3068, 3073, + 3074, 3075, 3076, 3087, 3090, 3093, 3094, 3095, 3096, 3107, + 3111, 3112, 3113, 3115, 3116, 3117, 3121, 3123, 3126, 3128, + 3129, 3130, 3131, 3134, 3136, 3137, 3141, 3143, 3146, 3148, + 3149, 3150, 3154, 3156, 3159, 3162, 3164, 3166, 3170, 3171, + 3173, 3174, 3180, 3181, 3183, 3193, 3195, 3197, 3200, 3201, + 3202, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, + 3215, 3216, 3220, 3221, 3225, 3227, 3235, 3237, 3241, 3245, + 3250, 3254, 3262, 3263, 3267, 3268, 3274, 3275, 3284, 3285, + 3293, 3296, 3300, 3303, 3308, 3313, 3315, 3316, 3317, 3321, + 3322, 3326, 3327, 3330, 3335, 3336, 3340, 3343, 3345, 3349, + 3355, 3356, 3357, 3361, 3365, 3375, 3383, 3385, 3389, 3391, + 3396, 3402, 3405, 3410, 3415, 3417, 3424, 3427, 3430, 3431, + 3434, 3437, 3438, 3443, 3445, 3449, 3455, 3465, 3466 }; #endif @@ -7309,7 +7322,7 @@ yyreduce: case 2: /* Line 1455 of yacc.c */ -#line 735 "hphp.y" +#line 748 "hphp.y" { _p->onNewLabelScope(true); _p->initParseTree();;} break; @@ -7317,7 +7330,7 @@ yyreduce: case 3: /* Line 1455 of yacc.c */ -#line 738 "hphp.y" +#line 751 "hphp.y" { _p->popLabelInfo(); _p->finiParseTree(); _p->onCompleteLabelScope(true);;} @@ -7326,63 +7339,63 @@ yyreduce: case 4: /* Line 1455 of yacc.c */ -#line 745 "hphp.y" +#line 758 "hphp.y" { _p->addTopStatement((yyvsp[(2) - (2)]));;} break; case 5: /* Line 1455 of yacc.c */ -#line 746 "hphp.y" +#line 759 "hphp.y" { ;} break; case 6: /* Line 1455 of yacc.c */ -#line 749 "hphp.y" +#line 762 "hphp.y" { _p->nns((yyvsp[(1) - (1)]).num(), (yyvsp[(1) - (1)]).text()); (yyval) = (yyvsp[(1) - (1)]);;} break; case 7: /* Line 1455 of yacc.c */ -#line 750 "hphp.y" +#line 763 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 8: /* Line 1455 of yacc.c */ -#line 751 "hphp.y" +#line 764 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 9: /* Line 1455 of yacc.c */ -#line 752 "hphp.y" +#line 765 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 10: /* Line 1455 of yacc.c */ -#line 753 "hphp.y" +#line 766 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 11: /* Line 1455 of yacc.c */ -#line 754 "hphp.y" +#line 767 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 12: /* Line 1455 of yacc.c */ -#line 755 "hphp.y" +#line 768 "hphp.y" { _p->onHaltCompiler(); _p->finiParseTree(); YYACCEPT;;} @@ -7391,7 +7404,7 @@ yyreduce: case 13: /* Line 1455 of yacc.c */ -#line 758 "hphp.y" +#line 771 "hphp.y" { _p->onNamespaceStart((yyvsp[(2) - (3)]).text(), true); (yyval).reset();;} break; @@ -7399,35 +7412,35 @@ yyreduce: case 14: /* Line 1455 of yacc.c */ -#line 760 "hphp.y" +#line 773 "hphp.y" { _p->onNamespaceStart((yyvsp[(2) - (3)]).text());;} break; case 15: /* Line 1455 of yacc.c */ -#line 761 "hphp.y" +#line 774 "hphp.y" { _p->onNamespaceEnd(); (yyval) = (yyvsp[(5) - (6)]);;} break; case 16: /* Line 1455 of yacc.c */ -#line 762 "hphp.y" +#line 775 "hphp.y" { _p->onNamespaceStart("");;} break; case 17: /* Line 1455 of yacc.c */ -#line 763 "hphp.y" +#line 776 "hphp.y" { _p->onNamespaceEnd(); (yyval) = (yyvsp[(4) - (5)]);;} break; case 18: /* Line 1455 of yacc.c */ -#line 764 "hphp.y" +#line 777 "hphp.y" { _p->onUse((yyvsp[(2) - (3)]), &Parser::useClass); _p->nns(T_USE); (yyval).reset();;} break; @@ -7435,7 +7448,7 @@ yyreduce: case 19: /* Line 1455 of yacc.c */ -#line 767 "hphp.y" +#line 780 "hphp.y" { _p->onUse((yyvsp[(3) - (4)]), &Parser::useFunction); _p->nns(T_USE); (yyval).reset();;} break; @@ -7443,7 +7456,7 @@ yyreduce: case 20: /* Line 1455 of yacc.c */ -#line 770 "hphp.y" +#line 783 "hphp.y" { _p->onUse((yyvsp[(3) - (4)]), &Parser::useConst); _p->nns(T_USE); (yyval).reset();;} break; @@ -7451,7 +7464,7 @@ yyreduce: case 21: /* Line 1455 of yacc.c */ -#line 773 "hphp.y" +#line 786 "hphp.y" { _p->onGroupUse((yyvsp[(2) - (6)]).text(), (yyvsp[(4) - (6)]), nullptr); _p->nns(T_USE); (yyval).reset();;} @@ -7460,7 +7473,7 @@ yyreduce: case 22: /* Line 1455 of yacc.c */ -#line 777 "hphp.y" +#line 790 "hphp.y" { _p->onGroupUse((yyvsp[(3) - (7)]).text(), (yyvsp[(5) - (7)]), &Parser::useFunction); _p->nns(T_USE); (yyval).reset();;} @@ -7469,7 +7482,7 @@ yyreduce: case 23: /* Line 1455 of yacc.c */ -#line 781 "hphp.y" +#line 794 "hphp.y" { _p->onGroupUse((yyvsp[(3) - (7)]).text(), (yyvsp[(5) - (7)]), &Parser::useConst); _p->nns(T_USE); (yyval).reset();;} @@ -7478,7 +7491,7 @@ yyreduce: case 24: /* Line 1455 of yacc.c */ -#line 784 "hphp.y" +#line 797 "hphp.y" { _p->nns(); _p->finishStatement((yyval), (yyvsp[(1) - (2)])); (yyval) = 1;;} break; @@ -7486,98 +7499,98 @@ yyreduce: case 25: /* Line 1455 of yacc.c */ -#line 789 "hphp.y" +#line 802 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 26: /* Line 1455 of yacc.c */ -#line 790 "hphp.y" +#line 803 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 27: /* Line 1455 of yacc.c */ -#line 791 "hphp.y" +#line 804 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 28: /* Line 1455 of yacc.c */ -#line 792 "hphp.y" +#line 805 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 29: /* Line 1455 of yacc.c */ -#line 793 "hphp.y" +#line 806 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 30: /* Line 1455 of yacc.c */ -#line 794 "hphp.y" +#line 807 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 31: /* Line 1455 of yacc.c */ -#line 795 "hphp.y" +#line 808 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 32: /* Line 1455 of yacc.c */ -#line 796 "hphp.y" +#line 809 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 33: /* Line 1455 of yacc.c */ -#line 797 "hphp.y" +#line 810 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 34: /* Line 1455 of yacc.c */ -#line 798 "hphp.y" +#line 811 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 100: /* Line 1455 of yacc.c */ -#line 876 "hphp.y" +#line 889 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 101: /* Line 1455 of yacc.c */ -#line 878 "hphp.y" +#line 891 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 102: /* Line 1455 of yacc.c */ -#line 883 "hphp.y" +#line 896 "hphp.y" { _p->addStatement((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 103: /* Line 1455 of yacc.c */ -#line 884 "hphp.y" +#line 897 "hphp.y" { (yyval).reset(); _p->addStatement((yyval),(yyval),(yyvsp[(1) - (1)]));;} break; @@ -7585,49 +7598,49 @@ yyreduce: case 104: /* Line 1455 of yacc.c */ -#line 890 "hphp.y" +#line 903 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 105: /* Line 1455 of yacc.c */ -#line 894 "hphp.y" +#line 907 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(1) - (1)]).text(),"");;} break; case 106: /* Line 1455 of yacc.c */ -#line 895 "hphp.y" +#line 908 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(2) - (2)]).text(),"");;} break; case 107: /* Line 1455 of yacc.c */ -#line 897 "hphp.y" +#line 910 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(1) - (3)]).text(),(yyvsp[(3) - (3)]).text());;} break; case 108: /* Line 1455 of yacc.c */ -#line 899 "hphp.y" +#line 912 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(2) - (4)]).text(),(yyvsp[(4) - (4)]).text());;} break; case 109: /* Line 1455 of yacc.c */ -#line 904 "hphp.y" +#line 917 "hphp.y" { _p->addStatement((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 110: /* Line 1455 of yacc.c */ -#line 905 "hphp.y" +#line 918 "hphp.y" { (yyval).reset(); _p->addStatement((yyval),(yyval),(yyvsp[(1) - (1)]));;} break; @@ -7635,14 +7648,14 @@ yyreduce: case 111: /* Line 1455 of yacc.c */ -#line 911 "hphp.y" +#line 924 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 112: /* Line 1455 of yacc.c */ -#line 915 "hphp.y" +#line 928 "hphp.y" { _p->onMixedUseDeclaration((yyval), (yyvsp[(1) - (1)]), &Parser::useClass);;} break; @@ -7650,7 +7663,7 @@ yyreduce: case 113: /* Line 1455 of yacc.c */ -#line 917 "hphp.y" +#line 930 "hphp.y" { _p->onMixedUseDeclaration((yyval), (yyvsp[(2) - (2)]), &Parser::useFunction);;} break; @@ -7658,7 +7671,7 @@ yyreduce: case 114: /* Line 1455 of yacc.c */ -#line 919 "hphp.y" +#line 932 "hphp.y" { _p->onMixedUseDeclaration((yyval), (yyvsp[(2) - (2)]), &Parser::useConst);;} break; @@ -7666,42 +7679,42 @@ yyreduce: case 115: /* Line 1455 of yacc.c */ -#line 924 "hphp.y" +#line 937 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 116: /* Line 1455 of yacc.c */ -#line 926 "hphp.y" +#line 939 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]) + (yyvsp[(2) - (3)]) + (yyvsp[(3) - (3)]); (yyval) = (yyvsp[(1) - (3)]).num() | 2;;} break; case 117: /* Line 1455 of yacc.c */ -#line 929 "hphp.y" +#line 942 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = (yyval).num() | 1;;} break; case 118: /* Line 1455 of yacc.c */ -#line 931 "hphp.y" +#line 944 "hphp.y" { (yyval).set((yyvsp[(3) - (3)]).num() | 2, _p->nsDecl((yyvsp[(3) - (3)]).text()));;} break; case 119: /* Line 1455 of yacc.c */ -#line 932 "hphp.y" +#line 945 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = (yyval).num() | 2;;} break; case 120: /* Line 1455 of yacc.c */ -#line 937 "hphp.y" +#line 950 "hphp.y" { if ((yyvsp[(1) - (2)]).num() & 1) { (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),0)); } @@ -7711,7 +7724,7 @@ yyreduce: case 121: /* Line 1455 of yacc.c */ -#line 944 "hphp.y" +#line 957 "hphp.y" { if ((yyvsp[(1) - (2)]).num() & 1) { (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),1)); } @@ -7721,7 +7734,7 @@ yyreduce: case 122: /* Line 1455 of yacc.c */ -#line 952 "hphp.y" +#line 965 "hphp.y" { (yyvsp[(3) - (5)]).setText(_p->nsDecl((yyvsp[(3) - (5)]).text())); _p->onConst((yyval),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; @@ -7729,7 +7742,7 @@ yyreduce: case 123: /* Line 1455 of yacc.c */ -#line 955 "hphp.y" +#line 968 "hphp.y" { (yyvsp[(2) - (4)]).setText(_p->nsDecl((yyvsp[(2) - (4)]).text())); _p->onConst((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} break; @@ -7737,70 +7750,70 @@ yyreduce: case 124: /* Line 1455 of yacc.c */ -#line 961 "hphp.y" +#line 974 "hphp.y" { _p->addStatement((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 125: /* Line 1455 of yacc.c */ -#line 962 "hphp.y" +#line 975 "hphp.y" { _p->onStatementListStart((yyval));;} break; case 126: /* Line 1455 of yacc.c */ -#line 965 "hphp.y" +#line 978 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 127: /* Line 1455 of yacc.c */ -#line 966 "hphp.y" +#line 979 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 128: /* Line 1455 of yacc.c */ -#line 967 "hphp.y" +#line 980 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 129: /* Line 1455 of yacc.c */ -#line 968 "hphp.y" +#line 981 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 130: /* Line 1455 of yacc.c */ -#line 971 "hphp.y" +#line 984 "hphp.y" { _p->onBlock((yyval), (yyvsp[(2) - (3)]));;} break; case 131: /* Line 1455 of yacc.c */ -#line 975 "hphp.y" +#line 988 "hphp.y" { _p->onIf((yyval),(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]));;} break; case 132: /* Line 1455 of yacc.c */ -#line 980 "hphp.y" +#line 993 "hphp.y" { _p->onIf((yyval),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]));;} break; case 133: /* Line 1455 of yacc.c */ -#line 981 "hphp.y" +#line 994 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7808,7 +7821,7 @@ yyreduce: case 134: /* Line 1455 of yacc.c */ -#line 983 "hphp.y" +#line 996 "hphp.y" { _p->popLabelScope(); _p->onWhile((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)])); _p->onCompleteLabelScope(false);;} @@ -7817,7 +7830,7 @@ yyreduce: case 135: /* Line 1455 of yacc.c */ -#line 987 "hphp.y" +#line 1000 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7825,7 +7838,7 @@ yyreduce: case 136: /* Line 1455 of yacc.c */ -#line 990 "hphp.y" +#line 1003 "hphp.y" { _p->popLabelScope(); _p->onDo((yyval),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)])); _p->onCompleteLabelScope(false);;} @@ -7834,7 +7847,7 @@ yyreduce: case 137: /* Line 1455 of yacc.c */ -#line 994 "hphp.y" +#line 1007 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7842,7 +7855,7 @@ yyreduce: case 138: /* Line 1455 of yacc.c */ -#line 996 "hphp.y" +#line 1009 "hphp.y" { _p->popLabelScope(); _p->onFor((yyval),(yyvsp[(3) - (10)]),(yyvsp[(5) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)])); _p->onCompleteLabelScope(false);;} @@ -7851,7 +7864,7 @@ yyreduce: case 139: /* Line 1455 of yacc.c */ -#line 999 "hphp.y" +#line 1012 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7859,7 +7872,7 @@ yyreduce: case 140: /* Line 1455 of yacc.c */ -#line 1001 "hphp.y" +#line 1014 "hphp.y" { _p->popLabelScope(); _p->onSwitch((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)])); _p->onCompleteLabelScope(false);;} @@ -7868,105 +7881,105 @@ yyreduce: case 141: /* Line 1455 of yacc.c */ -#line 1004 "hphp.y" +#line 1017 "hphp.y" { _p->onBreakContinue((yyval), true, NULL);;} break; case 142: /* Line 1455 of yacc.c */ -#line 1005 "hphp.y" +#line 1018 "hphp.y" { _p->onBreakContinue((yyval), true, &(yyvsp[(2) - (3)]));;} break; case 143: /* Line 1455 of yacc.c */ -#line 1006 "hphp.y" +#line 1019 "hphp.y" { _p->onBreakContinue((yyval), false, NULL);;} break; case 144: /* Line 1455 of yacc.c */ -#line 1007 "hphp.y" +#line 1020 "hphp.y" { _p->onBreakContinue((yyval), false, &(yyvsp[(2) - (3)]));;} break; case 145: /* Line 1455 of yacc.c */ -#line 1008 "hphp.y" +#line 1021 "hphp.y" { _p->onReturn((yyval), NULL);;} break; case 146: /* Line 1455 of yacc.c */ -#line 1009 "hphp.y" +#line 1022 "hphp.y" { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));;} break; case 147: /* Line 1455 of yacc.c */ -#line 1010 "hphp.y" +#line 1023 "hphp.y" { _p->onYieldBreak((yyval));;} break; case 148: /* Line 1455 of yacc.c */ -#line 1011 "hphp.y" +#line 1024 "hphp.y" { _p->onGlobal((yyval), (yyvsp[(2) - (3)]));;} break; case 149: /* Line 1455 of yacc.c */ -#line 1012 "hphp.y" +#line 1025 "hphp.y" { _p->onStatic((yyval), (yyvsp[(2) - (3)]));;} break; case 150: /* Line 1455 of yacc.c */ -#line 1013 "hphp.y" +#line 1026 "hphp.y" { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);;} break; case 151: /* Line 1455 of yacc.c */ -#line 1014 "hphp.y" +#line 1027 "hphp.y" { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);;} break; case 152: /* Line 1455 of yacc.c */ -#line 1015 "hphp.y" +#line 1028 "hphp.y" { _p->onUnset((yyval), (yyvsp[(3) - (5)]));;} break; case 153: /* Line 1455 of yacc.c */ -#line 1016 "hphp.y" +#line 1029 "hphp.y" { (yyval).reset(); (yyval) = ';';;} break; case 154: /* Line 1455 of yacc.c */ -#line 1017 "hphp.y" +#line 1030 "hphp.y" { _p->onEcho((yyval), (yyvsp[(1) - (1)]), 1);;} break; case 155: /* Line 1455 of yacc.c */ -#line 1018 "hphp.y" +#line 1031 "hphp.y" { _p->onHashBang((yyval), (yyvsp[(1) - (1)])); (yyval) = T_HASHBANG;;} break; @@ -7974,7 +7987,7 @@ yyreduce: case 156: /* Line 1455 of yacc.c */ -#line 1022 "hphp.y" +#line 1035 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7982,7 +7995,7 @@ yyreduce: case 157: /* Line 1455 of yacc.c */ -#line 1024 "hphp.y" +#line 1037 "hphp.y" { _p->popLabelScope(); _p->onForEach((yyval),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]), false); _p->onCompleteLabelScope(false);;} @@ -7991,7 +8004,7 @@ yyreduce: case 158: /* Line 1455 of yacc.c */ -#line 1029 "hphp.y" +#line 1042 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7999,7 +8012,7 @@ yyreduce: case 159: /* Line 1455 of yacc.c */ -#line 1031 "hphp.y" +#line 1044 "hphp.y" { _p->popLabelScope(); _p->onForEach((yyval),(yyvsp[(3) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]), true); _p->onCompleteLabelScope(false);;} @@ -8008,7 +8021,7 @@ yyreduce: case 160: /* Line 1455 of yacc.c */ -#line 1035 "hphp.y" +#line 1048 "hphp.y" { _p->onDeclare((yyvsp[(3) - (5)]), (yyvsp[(5) - (5)])); (yyval) = (yyvsp[(3) - (5)]); (yyval) = T_DECLARE;;} @@ -8017,42 +8030,42 @@ yyreduce: case 161: /* Line 1455 of yacc.c */ -#line 1044 "hphp.y" +#line 1057 "hphp.y" { _p->onCompleteLabelScope(false);;} break; case 162: /* Line 1455 of yacc.c */ -#line 1045 "hphp.y" +#line 1058 "hphp.y" { _p->onTry((yyval),(yyvsp[(2) - (13)]),(yyvsp[(5) - (13)]),(yyvsp[(6) - (13)]),(yyvsp[(9) - (13)]),(yyvsp[(11) - (13)]),(yyvsp[(13) - (13)]));;} break; case 163: /* Line 1455 of yacc.c */ -#line 1048 "hphp.y" +#line 1061 "hphp.y" { _p->onCompleteLabelScope(false);;} break; case 164: /* Line 1455 of yacc.c */ -#line 1049 "hphp.y" +#line 1062 "hphp.y" { _p->onTry((yyval), (yyvsp[(2) - (5)]), (yyvsp[(5) - (5)]));;} break; case 165: /* Line 1455 of yacc.c */ -#line 1050 "hphp.y" +#line 1063 "hphp.y" { _p->onThrow((yyval), (yyvsp[(2) - (3)]));;} break; case 166: /* Line 1455 of yacc.c */ -#line 1051 "hphp.y" +#line 1064 "hphp.y" { _p->onGoto((yyval), (yyvsp[(2) - (3)]), true); _p->addGoto((yyvsp[(2) - (3)]).text(), _p->getRange(), @@ -8062,84 +8075,84 @@ yyreduce: case 167: /* Line 1455 of yacc.c */ -#line 1055 "hphp.y" +#line 1068 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 168: /* Line 1455 of yacc.c */ -#line 1056 "hphp.y" +#line 1069 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 169: /* Line 1455 of yacc.c */ -#line 1057 "hphp.y" +#line 1070 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 170: /* Line 1455 of yacc.c */ -#line 1058 "hphp.y" +#line 1071 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 171: /* Line 1455 of yacc.c */ -#line 1059 "hphp.y" +#line 1072 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 172: /* Line 1455 of yacc.c */ -#line 1060 "hphp.y" +#line 1073 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 173: /* Line 1455 of yacc.c */ -#line 1061 "hphp.y" +#line 1074 "hphp.y" { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));;} break; case 174: /* Line 1455 of yacc.c */ -#line 1062 "hphp.y" +#line 1075 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 175: /* Line 1455 of yacc.c */ -#line 1063 "hphp.y" +#line 1076 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 176: /* Line 1455 of yacc.c */ -#line 1064 "hphp.y" +#line 1077 "hphp.y" { _p->onReturn((yyval), &(yyvsp[(2) - (3)])); ;} break; case 177: /* Line 1455 of yacc.c */ -#line 1065 "hphp.y" +#line 1078 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 178: /* Line 1455 of yacc.c */ -#line 1066 "hphp.y" +#line 1079 "hphp.y" { _p->onLabel((yyval), (yyvsp[(1) - (2)])); _p->addLabel((yyvsp[(1) - (2)]).text(), _p->getRange(), @@ -8150,35 +8163,35 @@ yyreduce: case 179: /* Line 1455 of yacc.c */ -#line 1074 "hphp.y" +#line 1087 "hphp.y" { _p->onNewLabelScope(false);;} break; case 180: /* Line 1455 of yacc.c */ -#line 1075 "hphp.y" +#line 1088 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]);;} break; case 181: /* Line 1455 of yacc.c */ -#line 1084 "hphp.y" +#line 1097 "hphp.y" { _p->onCatch((yyval), (yyvsp[(1) - (9)]), (yyvsp[(4) - (9)]), (yyvsp[(5) - (9)]), (yyvsp[(8) - (9)]));;} break; case 182: /* Line 1455 of yacc.c */ -#line 1085 "hphp.y" +#line 1098 "hphp.y" { (yyval).reset();;} break; case 183: /* Line 1455 of yacc.c */ -#line 1089 "hphp.y" +#line 1102 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -8186,7 +8199,7 @@ yyreduce: case 184: /* Line 1455 of yacc.c */ -#line 1091 "hphp.y" +#line 1104 "hphp.y" { _p->popLabelScope(); _p->onFinally((yyval), (yyvsp[(3) - (4)])); _p->onCompleteLabelScope(false);;} @@ -8195,42 +8208,42 @@ yyreduce: case 185: /* Line 1455 of yacc.c */ -#line 1097 "hphp.y" +#line 1110 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 186: /* Line 1455 of yacc.c */ -#line 1098 "hphp.y" +#line 1111 "hphp.y" { (yyval).reset();;} break; case 187: /* Line 1455 of yacc.c */ -#line 1102 "hphp.y" +#line 1115 "hphp.y" { (yyval) = 1;;} break; case 188: /* Line 1455 of yacc.c */ -#line 1103 "hphp.y" +#line 1116 "hphp.y" { (yyval).reset();;} break; case 189: /* Line 1455 of yacc.c */ -#line 1107 "hphp.y" +#line 1120 "hphp.y" { _p->pushFuncLocation(); ;} break; case 190: /* Line 1455 of yacc.c */ -#line 1113 "hphp.y" +#line 1126 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text())); _p->onNewLabelScope(true); _p->onFunctionStart((yyvsp[(3) - (3)])); @@ -8240,7 +8253,7 @@ yyreduce: case 191: /* Line 1455 of yacc.c */ -#line 1119 "hphp.y" +#line 1132 "hphp.y" { _p->onFunction((yyval),nullptr,(yyvsp[(8) - (9)]),(yyvsp[(2) - (9)]),(yyvsp[(3) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]),nullptr); _p->popLabelInfo(); _p->popTypeScope(); @@ -8250,7 +8263,7 @@ yyreduce: case 192: /* Line 1455 of yacc.c */ -#line 1126 "hphp.y" +#line 1139 "hphp.y" { (yyvsp[(4) - (4)]).setText(_p->nsDecl((yyvsp[(4) - (4)]).text())); _p->onNewLabelScope(true); _p->onFunctionStart((yyvsp[(4) - (4)])); @@ -8260,7 +8273,7 @@ yyreduce: case 193: /* Line 1455 of yacc.c */ -#line 1132 "hphp.y" +#line 1145 "hphp.y" { _p->onFunction((yyval),&(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr); _p->popLabelInfo(); _p->popTypeScope(); @@ -8270,7 +8283,7 @@ yyreduce: case 194: /* Line 1455 of yacc.c */ -#line 1139 "hphp.y" +#line 1152 "hphp.y" { (yyvsp[(5) - (5)]).setText(_p->nsDecl((yyvsp[(5) - (5)]).text())); _p->onNewLabelScope(true); _p->onFunctionStart((yyvsp[(5) - (5)])); @@ -8280,7 +8293,7 @@ yyreduce: case 195: /* Line 1455 of yacc.c */ -#line 1145 "hphp.y" +#line 1158 "hphp.y" { _p->onFunction((yyval),&(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)])); _p->popLabelInfo(); _p->popTypeScope(); @@ -8290,7 +8303,7 @@ yyreduce: case 196: /* Line 1455 of yacc.c */ -#line 1153 "hphp.y" +#line 1166 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart(T_ENUM,(yyvsp[(2) - (2)]));;} break; @@ -8298,14 +8311,14 @@ yyreduce: case 197: /* Line 1455 of yacc.c */ -#line 1157 "hphp.y" +#line 1170 "hphp.y" { _p->onEnum((yyval),(yyvsp[(2) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]),0); ;} break; case 198: /* Line 1455 of yacc.c */ -#line 1161 "hphp.y" +#line 1174 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart(T_ENUM,(yyvsp[(3) - (3)]));;} break; @@ -8313,14 +8326,14 @@ yyreduce: case 199: /* Line 1455 of yacc.c */ -#line 1165 "hphp.y" +#line 1178 "hphp.y" { _p->onEnum((yyval),(yyvsp[(3) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(9) - (10)]),&(yyvsp[(1) - (10)])); ;} break; case 200: /* Line 1455 of yacc.c */ -#line 1171 "hphp.y" +#line 1184 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart((yyvsp[(1) - (2)]).num(),(yyvsp[(2) - (2)]));;} break; @@ -8328,7 +8341,7 @@ yyreduce: case 201: /* Line 1455 of yacc.c */ -#line 1174 "hphp.y" +#line 1187 "hphp.y" { Token stmts; if (_p->peekClass()) { xhp_collect_attributes(_p,stmts,(yyvsp[(7) - (8)])); @@ -8347,7 +8360,7 @@ yyreduce: case 202: /* Line 1455 of yacc.c */ -#line 1189 "hphp.y" +#line 1202 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart((yyvsp[(2) - (3)]).num(),(yyvsp[(3) - (3)]));;} break; @@ -8355,7 +8368,7 @@ yyreduce: case 203: /* Line 1455 of yacc.c */ -#line 1192 "hphp.y" +#line 1205 "hphp.y" { Token stmts; if (_p->peekClass()) { xhp_collect_attributes(_p,stmts,(yyvsp[(8) - (9)])); @@ -8374,7 +8387,7 @@ yyreduce: case 204: /* Line 1455 of yacc.c */ -#line 1206 "hphp.y" +#line 1219 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart(T_INTERFACE,(yyvsp[(2) - (2)]));;} break; @@ -8382,7 +8395,7 @@ yyreduce: case 205: /* Line 1455 of yacc.c */ -#line 1209 "hphp.y" +#line 1222 "hphp.y" { _p->onInterface((yyval),(yyvsp[(2) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(6) - (7)]),0); _p->popClass(); _p->popTypeScope();;} @@ -8391,7 +8404,7 @@ yyreduce: case 206: /* Line 1455 of yacc.c */ -#line 1214 "hphp.y" +#line 1227 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart(T_INTERFACE,(yyvsp[(3) - (3)]));;} break; @@ -8399,7 +8412,7 @@ yyreduce: case 207: /* Line 1455 of yacc.c */ -#line 1217 "hphp.y" +#line 1230 "hphp.y" { _p->onInterface((yyval),(yyvsp[(3) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)])); _p->popClass(); _p->popTypeScope();;} @@ -8408,21 +8421,21 @@ yyreduce: case 208: /* Line 1455 of yacc.c */ -#line 1223 "hphp.y" +#line 1236 "hphp.y" { _p->onClassExpressionStart(); ;} break; case 209: /* Line 1455 of yacc.c */ -#line 1226 "hphp.y" +#line 1239 "hphp.y" { _p->onClassExpression((yyval), (yyvsp[(3) - (8)]), (yyvsp[(4) - (8)]), (yyvsp[(5) - (8)]), (yyvsp[(7) - (8)])); ;} break; case 210: /* Line 1455 of yacc.c */ -#line 1230 "hphp.y" +#line 1243 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart(T_TRAIT, (yyvsp[(2) - (2)]));;} break; @@ -8430,7 +8443,7 @@ yyreduce: case 211: /* Line 1455 of yacc.c */ -#line 1233 "hphp.y" +#line 1246 "hphp.y" { Token t_ext; t_ext.reset(); _p->onClass((yyval),T_TRAIT,(yyvsp[(2) - (7)]),t_ext,(yyvsp[(4) - (7)]), @@ -8442,7 +8455,7 @@ yyreduce: case 212: /* Line 1455 of yacc.c */ -#line 1241 "hphp.y" +#line 1254 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart(T_TRAIT, (yyvsp[(3) - (3)]));;} break; @@ -8450,7 +8463,7 @@ yyreduce: case 213: /* Line 1455 of yacc.c */ -#line 1244 "hphp.y" +#line 1257 "hphp.y" { Token t_ext; t_ext.reset(); _p->onClass((yyval),T_TRAIT,(yyvsp[(3) - (8)]),t_ext,(yyvsp[(5) - (8)]), @@ -8462,14 +8475,14 @@ yyreduce: case 214: /* Line 1455 of yacc.c */ -#line 1252 "hphp.y" +#line 1265 "hphp.y" { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;} break; case 215: /* Line 1455 of yacc.c */ -#line 1253 "hphp.y" +#line 1266 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); _p->pushTypeScope(); _p->pushClass(true); (yyval) = (yyvsp[(1) - (1)]);;} break; @@ -8477,35 +8490,35 @@ yyreduce: case 216: /* Line 1455 of yacc.c */ -#line 1257 "hphp.y" +#line 1270 "hphp.y" { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;} break; case 217: /* Line 1455 of yacc.c */ -#line 1260 "hphp.y" +#line 1273 "hphp.y" { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;} break; case 218: /* Line 1455 of yacc.c */ -#line 1263 "hphp.y" +#line 1276 "hphp.y" { (yyval) = T_CLASS;;} break; case 219: /* Line 1455 of yacc.c */ -#line 1264 "hphp.y" +#line 1277 "hphp.y" { (yyval) = T_ABSTRACT; ;} break; case 220: /* Line 1455 of yacc.c */ -#line 1265 "hphp.y" +#line 1278 "hphp.y" { only_in_hh_syntax(_p); /* hacky, but transforming to a single token is quite convenient */ (yyval) = T_STATIC; ;} @@ -8514,189 +8527,189 @@ yyreduce: case 221: /* Line 1455 of yacc.c */ -#line 1268 "hphp.y" +#line 1281 "hphp.y" { only_in_hh_syntax(_p); (yyval) = T_STATIC; ;} break; case 222: /* Line 1455 of yacc.c */ -#line 1269 "hphp.y" +#line 1282 "hphp.y" { (yyval) = T_FINAL;;} break; case 223: /* Line 1455 of yacc.c */ -#line 1273 "hphp.y" +#line 1286 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 224: /* Line 1455 of yacc.c */ -#line 1274 "hphp.y" +#line 1287 "hphp.y" { (yyval).reset();;} break; case 225: /* Line 1455 of yacc.c */ -#line 1277 "hphp.y" +#line 1290 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 226: /* Line 1455 of yacc.c */ -#line 1278 "hphp.y" +#line 1291 "hphp.y" { (yyval).reset();;} break; case 227: /* Line 1455 of yacc.c */ -#line 1281 "hphp.y" +#line 1294 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 228: /* Line 1455 of yacc.c */ -#line 1282 "hphp.y" +#line 1295 "hphp.y" { (yyval).reset();;} break; case 229: /* Line 1455 of yacc.c */ -#line 1285 "hphp.y" +#line 1298 "hphp.y" { _p->onInterfaceName((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 230: /* Line 1455 of yacc.c */ -#line 1287 "hphp.y" +#line 1300 "hphp.y" { _p->onInterfaceName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 231: /* Line 1455 of yacc.c */ -#line 1290 "hphp.y" +#line 1303 "hphp.y" { _p->onTraitName((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 232: /* Line 1455 of yacc.c */ -#line 1292 "hphp.y" +#line 1305 "hphp.y" { _p->onTraitName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 233: /* Line 1455 of yacc.c */ -#line 1296 "hphp.y" +#line 1309 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 234: /* Line 1455 of yacc.c */ -#line 1297 "hphp.y" +#line 1310 "hphp.y" { (yyval).reset();;} break; case 235: /* Line 1455 of yacc.c */ -#line 1300 "hphp.y" +#line 1313 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;} break; case 236: /* Line 1455 of yacc.c */ -#line 1301 "hphp.y" +#line 1314 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;} break; case 237: /* Line 1455 of yacc.c */ -#line 1302 "hphp.y" +#line 1315 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (4)]), NULL);;} break; case 238: /* Line 1455 of yacc.c */ -#line 1306 "hphp.y" +#line 1319 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 239: /* Line 1455 of yacc.c */ -#line 1308 "hphp.y" +#line 1321 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 240: /* Line 1455 of yacc.c */ -#line 1311 "hphp.y" +#line 1324 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 241: /* Line 1455 of yacc.c */ -#line 1313 "hphp.y" +#line 1326 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 242: /* Line 1455 of yacc.c */ -#line 1316 "hphp.y" +#line 1329 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 243: /* Line 1455 of yacc.c */ -#line 1318 "hphp.y" +#line 1331 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 244: /* Line 1455 of yacc.c */ -#line 1321 "hphp.y" +#line 1334 "hphp.y" { _p->onBlock((yyval), (yyvsp[(1) - (1)]));;} break; case 245: /* Line 1455 of yacc.c */ -#line 1323 "hphp.y" +#line 1336 "hphp.y" { _p->onBlock((yyval), (yyvsp[(2) - (4)]));;} break; case 246: /* Line 1455 of yacc.c */ -#line 1327 "hphp.y" +#line 1340 "hphp.y" {_p->onDeclareList((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 247: /* Line 1455 of yacc.c */ -#line 1329 "hphp.y" +#line 1342 "hphp.y" {_p->onDeclareList((yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(5) - (5)])); (yyval) = (yyvsp[(1) - (5)]);;} break; @@ -8704,126 +8717,126 @@ yyreduce: case 248: /* Line 1455 of yacc.c */ -#line 1334 "hphp.y" +#line 1347 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 249: /* Line 1455 of yacc.c */ -#line 1335 "hphp.y" +#line 1348 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]);;} break; case 250: /* Line 1455 of yacc.c */ -#line 1336 "hphp.y" +#line 1349 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 251: /* Line 1455 of yacc.c */ -#line 1337 "hphp.y" +#line 1350 "hphp.y" { (yyval) = (yyvsp[(3) - (5)]);;} break; case 252: /* Line 1455 of yacc.c */ -#line 1342 "hphp.y" +#line 1355 "hphp.y" { _p->onCase((yyval),(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 253: /* Line 1455 of yacc.c */ -#line 1344 "hphp.y" +#line 1357 "hphp.y" { _p->onCase((yyval),(yyvsp[(1) - (4)]),NULL,(yyvsp[(4) - (4)]));;} break; case 254: /* Line 1455 of yacc.c */ -#line 1345 "hphp.y" +#line 1358 "hphp.y" { (yyval).reset();;} break; case 255: /* Line 1455 of yacc.c */ -#line 1348 "hphp.y" +#line 1361 "hphp.y" { (yyval).reset();;} break; case 256: /* Line 1455 of yacc.c */ -#line 1349 "hphp.y" +#line 1362 "hphp.y" { (yyval).reset();;} break; case 257: /* Line 1455 of yacc.c */ -#line 1354 "hphp.y" +#line 1367 "hphp.y" { _p->onElseIf((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;} break; case 258: /* Line 1455 of yacc.c */ -#line 1355 "hphp.y" +#line 1368 "hphp.y" { (yyval).reset();;} break; case 259: /* Line 1455 of yacc.c */ -#line 1360 "hphp.y" +#line 1373 "hphp.y" { _p->onElseIf((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 260: /* Line 1455 of yacc.c */ -#line 1361 "hphp.y" +#line 1374 "hphp.y" { (yyval).reset();;} break; case 261: /* Line 1455 of yacc.c */ -#line 1364 "hphp.y" +#line 1377 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 262: /* Line 1455 of yacc.c */ -#line 1365 "hphp.y" +#line 1378 "hphp.y" { (yyval).reset();;} break; case 263: /* Line 1455 of yacc.c */ -#line 1368 "hphp.y" +#line 1381 "hphp.y" { (yyval) = (yyvsp[(3) - (3)]);;} break; case 264: /* Line 1455 of yacc.c */ -#line 1369 "hphp.y" +#line 1382 "hphp.y" { (yyval).reset();;} break; case 265: /* Line 1455 of yacc.c */ -#line 1377 "hphp.y" +#line 1390 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),false, &(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)])); ;} break; @@ -8831,7 +8844,7 @@ yyreduce: case 266: /* Line 1455 of yacc.c */ -#line 1383 "hphp.y" +#line 1396 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(8) - (8)]),true, &(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)])); ;} break; @@ -8839,7 +8852,7 @@ yyreduce: case 267: /* Line 1455 of yacc.c */ -#line 1389 "hphp.y" +#line 1402 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]), &(yyvsp[(4) - (6)])); (yyval) = (yyvsp[(1) - (6)]); ;} @@ -8848,14 +8861,14 @@ yyreduce: case 268: /* Line 1455 of yacc.c */ -#line 1393 "hphp.y" +#line 1406 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 269: /* Line 1455 of yacc.c */ -#line 1397 "hphp.y" +#line 1410 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),false, &(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)])); ;} break; @@ -8863,7 +8876,7 @@ yyreduce: case 270: /* Line 1455 of yacc.c */ -#line 1402 "hphp.y" +#line 1415 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),true, &(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)])); ;} break; @@ -8871,7 +8884,7 @@ yyreduce: case 271: /* Line 1455 of yacc.c */ -#line 1407 "hphp.y" +#line 1420 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]), &(yyvsp[(2) - (4)])); (yyval).reset(); ;} @@ -8880,14 +8893,14 @@ yyreduce: case 272: /* Line 1455 of yacc.c */ -#line 1410 "hphp.y" +#line 1423 "hphp.y" { (yyval).reset(); ;} break; case 273: /* Line 1455 of yacc.c */ -#line 1416 "hphp.y" +#line 1429 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]),0, NULL,&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]));;} break; @@ -8895,7 +8908,7 @@ yyreduce: case 274: /* Line 1455 of yacc.c */ -#line 1420 "hphp.y" +#line 1433 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),1, NULL,&(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)]));;} break; @@ -8903,7 +8916,7 @@ yyreduce: case 275: /* Line 1455 of yacc.c */ -#line 1425 "hphp.y" +#line 1438 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (7)]),(yyvsp[(5) - (7)]),1, &(yyvsp[(7) - (7)]),&(yyvsp[(1) - (7)]),&(yyvsp[(2) - (7)]));;} break; @@ -8911,7 +8924,7 @@ yyreduce: case 276: /* Line 1455 of yacc.c */ -#line 1430 "hphp.y" +#line 1443 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(4) - (6)]),0, &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)]));;} break; @@ -8919,7 +8932,7 @@ yyreduce: case 277: /* Line 1455 of yacc.c */ -#line 1435 "hphp.y" +#line 1448 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]),0, NULL,&(yyvsp[(3) - (6)]),&(yyvsp[(4) - (6)]));;} break; @@ -8927,7 +8940,7 @@ yyreduce: case 278: /* Line 1455 of yacc.c */ -#line 1440 "hphp.y" +#line 1453 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),1, NULL,&(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)]));;} break; @@ -8935,7 +8948,7 @@ yyreduce: case 279: /* Line 1455 of yacc.c */ -#line 1446 "hphp.y" +#line 1459 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(7) - (9)]),1, &(yyvsp[(9) - (9)]),&(yyvsp[(3) - (9)]),&(yyvsp[(4) - (9)]));;} break; @@ -8943,7 +8956,7 @@ yyreduce: case 280: /* Line 1455 of yacc.c */ -#line 1452 "hphp.y" +#line 1465 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]),0, &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)]));;} break; @@ -8951,7 +8964,7 @@ yyreduce: case 281: /* Line 1455 of yacc.c */ -#line 1460 "hphp.y" +#line 1473 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]), false,&(yyvsp[(3) - (6)]),NULL); ;} break; @@ -8959,7 +8972,7 @@ yyreduce: case 282: /* Line 1455 of yacc.c */ -#line 1465 "hphp.y" +#line 1478 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(7) - (7)]), true,&(yyvsp[(3) - (7)]),NULL); ;} break; @@ -8967,7 +8980,7 @@ yyreduce: case 283: /* Line 1455 of yacc.c */ -#line 1470 "hphp.y" +#line 1483 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), NULL); (yyval) = (yyvsp[(1) - (5)]); ;} @@ -8976,14 +8989,14 @@ yyreduce: case 284: /* Line 1455 of yacc.c */ -#line 1474 "hphp.y" +#line 1487 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 285: /* Line 1455 of yacc.c */ -#line 1477 "hphp.y" +#line 1490 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]), false,&(yyvsp[(1) - (4)]),NULL); ;} break; @@ -8991,7 +9004,7 @@ yyreduce: case 286: /* Line 1455 of yacc.c */ -#line 1481 "hphp.y" +#line 1494 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(5) - (5)]), true,&(yyvsp[(1) - (5)]),NULL); ;} break; @@ -8999,7 +9012,7 @@ yyreduce: case 287: /* Line 1455 of yacc.c */ -#line 1485 "hphp.y" +#line 1498 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), NULL); (yyval).reset(); ;} @@ -9008,14 +9021,14 @@ yyreduce: case 288: /* Line 1455 of yacc.c */ -#line 1488 "hphp.y" +#line 1501 "hphp.y" { (yyval).reset();;} break; case 289: /* Line 1455 of yacc.c */ -#line 1493 "hphp.y" +#line 1506 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (3)]),(yyvsp[(3) - (3)]),false, NULL,&(yyvsp[(1) - (3)]),NULL); ;} break; @@ -9023,7 +9036,7 @@ yyreduce: case 290: /* Line 1455 of yacc.c */ -#line 1496 "hphp.y" +#line 1509 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),true, NULL,&(yyvsp[(1) - (4)]),NULL); ;} break; @@ -9031,7 +9044,7 @@ yyreduce: case 291: /* Line 1455 of yacc.c */ -#line 1500 "hphp.y" +#line 1513 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (6)]),(yyvsp[(4) - (6)]),true, &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),NULL); ;} break; @@ -9039,7 +9052,7 @@ yyreduce: case 292: /* Line 1455 of yacc.c */ -#line 1504 "hphp.y" +#line 1517 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),false, &(yyvsp[(5) - (5)]),&(yyvsp[(1) - (5)]),NULL); ;} break; @@ -9047,7 +9060,7 @@ yyreduce: case 293: /* Line 1455 of yacc.c */ -#line 1508 "hphp.y" +#line 1521 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]),false, NULL,&(yyvsp[(3) - (5)]),NULL); ;} break; @@ -9055,7 +9068,7 @@ yyreduce: case 294: /* Line 1455 of yacc.c */ -#line 1512 "hphp.y" +#line 1525 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]),true, NULL,&(yyvsp[(3) - (6)]),NULL); ;} break; @@ -9063,7 +9076,7 @@ yyreduce: case 295: /* Line 1455 of yacc.c */ -#line 1517 "hphp.y" +#line 1530 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(6) - (8)]),true, &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),NULL); ;} break; @@ -9071,7 +9084,7 @@ yyreduce: case 296: /* Line 1455 of yacc.c */ -#line 1522 "hphp.y" +#line 1535 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(5) - (7)]),false, &(yyvsp[(7) - (7)]),&(yyvsp[(3) - (7)]),NULL); ;} break; @@ -9079,140 +9092,140 @@ yyreduce: case 297: /* Line 1455 of yacc.c */ -#line 1528 "hphp.y" +#line 1541 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 298: /* Line 1455 of yacc.c */ -#line 1529 "hphp.y" +#line 1542 "hphp.y" { (yyval).reset();;} break; case 299: /* Line 1455 of yacc.c */ -#line 1532 "hphp.y" +#line 1545 "hphp.y" { _p->onCallParam((yyval),NULL,(yyvsp[(1) - (1)]),false,false);;} break; case 300: /* Line 1455 of yacc.c */ -#line 1533 "hphp.y" +#line 1546 "hphp.y" { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),true,false);;} break; case 301: /* Line 1455 of yacc.c */ -#line 1534 "hphp.y" +#line 1547 "hphp.y" { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),false,true);;} break; case 302: /* Line 1455 of yacc.c */ -#line 1536 "hphp.y" +#line 1549 "hphp.y" { _p->onCallParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),false, false);;} break; case 303: /* Line 1455 of yacc.c */ -#line 1538 "hphp.y" +#line 1551 "hphp.y" { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),false,true);;} break; case 304: /* Line 1455 of yacc.c */ -#line 1540 "hphp.y" +#line 1553 "hphp.y" { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),true, false);;} break; case 305: /* Line 1455 of yacc.c */ -#line 1544 "hphp.y" +#line 1557 "hphp.y" { _p->onGlobalVar((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 306: /* Line 1455 of yacc.c */ -#line 1545 "hphp.y" +#line 1558 "hphp.y" { _p->onGlobalVar((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 307: /* Line 1455 of yacc.c */ -#line 1548 "hphp.y" +#line 1561 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 308: /* Line 1455 of yacc.c */ -#line 1549 "hphp.y" +#line 1562 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;} break; case 309: /* Line 1455 of yacc.c */ -#line 1550 "hphp.y" +#line 1563 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 1;;} break; case 310: /* Line 1455 of yacc.c */ -#line 1554 "hphp.y" +#line 1567 "hphp.y" { _p->onStaticVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 311: /* Line 1455 of yacc.c */ -#line 1556 "hphp.y" +#line 1569 "hphp.y" { _p->onStaticVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;} break; case 312: /* Line 1455 of yacc.c */ -#line 1557 "hphp.y" +#line 1570 "hphp.y" { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (1)]),0);;} break; case 313: /* Line 1455 of yacc.c */ -#line 1558 "hphp.y" +#line 1571 "hphp.y" { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} break; case 314: /* Line 1455 of yacc.c */ -#line 1563 "hphp.y" +#line 1576 "hphp.y" { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 315: /* Line 1455 of yacc.c */ -#line 1564 "hphp.y" +#line 1577 "hphp.y" { (yyval).reset();;} break; case 316: /* Line 1455 of yacc.c */ -#line 1567 "hphp.y" +#line 1580 "hphp.y" { _p->onClassVariableStart ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);;} break; @@ -9220,35 +9233,35 @@ yyreduce: case 317: /* Line 1455 of yacc.c */ -#line 1572 "hphp.y" +#line 1585 "hphp.y" { _p->onClassConstant((yyval),0,(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 318: /* Line 1455 of yacc.c */ -#line 1578 "hphp.y" +#line 1591 "hphp.y" { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 319: /* Line 1455 of yacc.c */ -#line 1579 "hphp.y" +#line 1592 "hphp.y" { (yyval).reset();;} break; case 320: /* Line 1455 of yacc.c */ -#line 1582 "hphp.y" +#line 1595 "hphp.y" { _p->onClassVariableModifer((yyvsp[(1) - (1)]));;} break; case 321: /* Line 1455 of yacc.c */ -#line 1583 "hphp.y" +#line 1596 "hphp.y" { _p->onClassVariableStart ((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; @@ -9256,14 +9269,14 @@ yyreduce: case 322: /* Line 1455 of yacc.c */ -#line 1586 "hphp.y" +#line 1599 "hphp.y" { _p->onClassVariableModifer((yyvsp[(1) - (2)]));;} break; case 323: /* Line 1455 of yacc.c */ -#line 1587 "hphp.y" +#line 1600 "hphp.y" { _p->onClassVariableStart ((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),&(yyvsp[(2) - (5)]));;} break; @@ -9271,7 +9284,7 @@ yyreduce: case 324: /* Line 1455 of yacc.c */ -#line 1589 "hphp.y" +#line 1602 "hphp.y" { _p->onClassVariableStart ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);;} break; @@ -9279,7 +9292,7 @@ yyreduce: case 325: /* Line 1455 of yacc.c */ -#line 1592 "hphp.y" +#line 1605 "hphp.y" { _p->onClassVariableStart ((yyval),NULL,(yyvsp[(1) - (2)]),NULL, true);;} break; @@ -9287,14 +9300,14 @@ yyreduce: case 326: /* Line 1455 of yacc.c */ -#line 1594 "hphp.y" +#line 1607 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 327: /* Line 1455 of yacc.c */ -#line 1597 "hphp.y" +#line 1610 "hphp.y" { _p->onNewLabelScope(true); _p->onMethodStart((yyvsp[(4) - (5)]), (yyvsp[(1) - (5)])); _p->pushLabelInfo();;} @@ -9303,7 +9316,7 @@ yyreduce: case 328: /* Line 1455 of yacc.c */ -#line 1603 "hphp.y" +#line 1616 "hphp.y" { _p->onMethod((yyval),(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr); _p->popLabelInfo(); _p->popTypeScope(); @@ -9313,7 +9326,7 @@ yyreduce: case 329: /* Line 1455 of yacc.c */ -#line 1611 "hphp.y" +#line 1624 "hphp.y" { _p->onNewLabelScope(true); _p->onMethodStart((yyvsp[(5) - (6)]), (yyvsp[(2) - (6)])); _p->pushLabelInfo();;} @@ -9322,7 +9335,7 @@ yyreduce: case 330: /* Line 1455 of yacc.c */ -#line 1617 "hphp.y" +#line 1630 "hphp.y" { _p->onMethod((yyval),(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)])); _p->popLabelInfo(); _p->popTypeScope(); @@ -9332,42 +9345,42 @@ yyreduce: case 331: /* Line 1455 of yacc.c */ -#line 1622 "hphp.y" +#line 1635 "hphp.y" { _p->xhpSetAttributes((yyvsp[(2) - (3)]));;} break; case 332: /* Line 1455 of yacc.c */ -#line 1624 "hphp.y" +#line 1637 "hphp.y" { xhp_category_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;} break; case 333: /* Line 1455 of yacc.c */ -#line 1626 "hphp.y" +#line 1639 "hphp.y" { xhp_children_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;} break; case 334: /* Line 1455 of yacc.c */ -#line 1628 "hphp.y" +#line 1641 "hphp.y" { _p->onClassRequire((yyval), (yyvsp[(3) - (4)]), true); ;} break; case 335: /* Line 1455 of yacc.c */ -#line 1630 "hphp.y" +#line 1643 "hphp.y" { _p->onClassRequire((yyval), (yyvsp[(3) - (4)]), false); ;} break; case 336: /* Line 1455 of yacc.c */ -#line 1631 "hphp.y" +#line 1644 "hphp.y" { Token t; t.reset(); _p->onTraitUse((yyval),(yyvsp[(2) - (3)]),t); ;} break; @@ -9375,42 +9388,42 @@ yyreduce: case 337: /* Line 1455 of yacc.c */ -#line 1634 "hphp.y" +#line 1647 "hphp.y" { _p->onTraitUse((yyval),(yyvsp[(2) - (5)]),(yyvsp[(4) - (5)])); ;} break; case 338: /* Line 1455 of yacc.c */ -#line 1637 "hphp.y" +#line 1650 "hphp.y" { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;} break; case 339: /* Line 1455 of yacc.c */ -#line 1638 "hphp.y" +#line 1651 "hphp.y" { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;} break; case 340: /* Line 1455 of yacc.c */ -#line 1639 "hphp.y" +#line 1652 "hphp.y" { (yyval).reset(); ;} break; case 341: /* Line 1455 of yacc.c */ -#line 1645 "hphp.y" +#line 1658 "hphp.y" { _p->onTraitPrecRule((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));;} break; case 342: /* Line 1455 of yacc.c */ -#line 1650 "hphp.y" +#line 1663 "hphp.y" { _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]));;} break; @@ -9418,7 +9431,7 @@ yyreduce: case 343: /* Line 1455 of yacc.c */ -#line 1653 "hphp.y" +#line 1666 "hphp.y" { Token t; t.reset(); _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]), t);;} @@ -9427,14 +9440,14 @@ yyreduce: case 344: /* Line 1455 of yacc.c */ -#line 1660 "hphp.y" +#line 1673 "hphp.y" { _p->onTraitAliasRuleStart((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 345: /* Line 1455 of yacc.c */ -#line 1661 "hphp.y" +#line 1674 "hphp.y" { Token t; t.reset(); _p->onTraitAliasRuleStart((yyval),t,(yyvsp[(1) - (1)]));;} break; @@ -9442,7 +9455,7 @@ yyreduce: case 346: /* Line 1455 of yacc.c */ -#line 1666 "hphp.y" +#line 1679 "hphp.y" { xhp_attribute_list(_p,(yyval), _p->xhpGetAttributes(),(yyvsp[(1) - (1)]));;} break; @@ -9450,14 +9463,14 @@ yyreduce: case 347: /* Line 1455 of yacc.c */ -#line 1669 "hphp.y" +#line 1682 "hphp.y" { xhp_attribute_list(_p,(yyval), &(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 348: /* Line 1455 of yacc.c */ -#line 1676 "hphp.y" +#line 1689 "hphp.y" { xhp_attribute(_p,(yyval),(yyvsp[(1) - (4)]),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)])); (yyval) = 1;;} break; @@ -9465,42 +9478,42 @@ yyreduce: case 349: /* Line 1455 of yacc.c */ -#line 1678 "hphp.y" +#line 1691 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;} break; case 350: /* Line 1455 of yacc.c */ -#line 1682 "hphp.y" +#line 1695 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 352: /* Line 1455 of yacc.c */ -#line 1687 "hphp.y" +#line 1700 "hphp.y" { (yyval) = 4;;} break; case 353: /* Line 1455 of yacc.c */ -#line 1689 "hphp.y" +#line 1702 "hphp.y" { (yyval) = 4;;} break; case 354: /* Line 1455 of yacc.c */ -#line 1691 "hphp.y" +#line 1704 "hphp.y" { (yyval) = 4;;} break; case 355: /* Line 1455 of yacc.c */ -#line 1692 "hphp.y" +#line 1705 "hphp.y" { /* This case handles all types other than "array", "var" and "enum". For now we just use type code 5; @@ -9512,77 +9525,77 @@ yyreduce: case 356: /* Line 1455 of yacc.c */ -#line 1698 "hphp.y" +#line 1711 "hphp.y" { (yyval) = 6;;} break; case 357: /* Line 1455 of yacc.c */ -#line 1700 "hphp.y" +#line 1713 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 7;;} break; case 358: /* Line 1455 of yacc.c */ -#line 1701 "hphp.y" +#line 1714 "hphp.y" { (yyval) = 9; ;} break; case 359: /* Line 1455 of yacc.c */ -#line 1705 "hphp.y" +#line 1718 "hphp.y" { _p->onArrayPair((yyval), 0,0,(yyvsp[(1) - (1)]),0);;} break; case 360: /* Line 1455 of yacc.c */ -#line 1707 "hphp.y" +#line 1720 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),0,(yyvsp[(3) - (3)]),0);;} break; case 361: /* Line 1455 of yacc.c */ -#line 1712 "hphp.y" +#line 1725 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 362: /* Line 1455 of yacc.c */ -#line 1715 "hphp.y" +#line 1728 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 363: /* Line 1455 of yacc.c */ -#line 1716 "hphp.y" +#line 1729 "hphp.y" { scalar_null(_p, (yyval));;} break; case 364: /* Line 1455 of yacc.c */ -#line 1720 "hphp.y" +#line 1733 "hphp.y" { scalar_num(_p, (yyval), "1");;} break; case 365: /* Line 1455 of yacc.c */ -#line 1721 "hphp.y" +#line 1734 "hphp.y" { scalar_num(_p, (yyval), "0");;} break; case 366: /* Line 1455 of yacc.c */ -#line 1725 "hphp.y" +#line 1738 "hphp.y" { Token t; scalar_num(_p, t, "1"); _p->onArrayPair((yyval),0,&(yyvsp[(1) - (1)]),t,0);;} break; @@ -9590,7 +9603,7 @@ yyreduce: case 367: /* Line 1455 of yacc.c */ -#line 1728 "hphp.y" +#line 1741 "hphp.y" { Token t; scalar_num(_p, t, "1"); _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]),t,0);;} break; @@ -9598,7 +9611,7 @@ yyreduce: case 368: /* Line 1455 of yacc.c */ -#line 1733 "hphp.y" +#line 1746 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; @@ -9606,14 +9619,14 @@ yyreduce: case 369: /* Line 1455 of yacc.c */ -#line 1738 "hphp.y" +#line 1751 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 2;;} break; case 370: /* Line 1455 of yacc.c */ -#line 1739 "hphp.y" +#line 1752 "hphp.y" { (yyval) = -1; if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1;;} break; @@ -9621,91 +9634,91 @@ yyreduce: case 371: /* Line 1455 of yacc.c */ -#line 1741 "hphp.y" +#line 1754 "hphp.y" { (yyval) = 0;;} break; case 372: /* Line 1455 of yacc.c */ -#line 1745 "hphp.y" +#line 1758 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (3)]), 0);;} break; case 373: /* Line 1455 of yacc.c */ -#line 1746 "hphp.y" +#line 1759 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 1);;} break; case 374: /* Line 1455 of yacc.c */ -#line 1747 "hphp.y" +#line 1760 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 2);;} break; case 375: /* Line 1455 of yacc.c */ -#line 1748 "hphp.y" +#line 1761 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 3);;} break; case 376: /* Line 1455 of yacc.c */ -#line 1752 "hphp.y" +#line 1765 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 377: /* Line 1455 of yacc.c */ -#line 1753 "hphp.y" +#line 1766 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (1)]),0, 0);;} break; case 378: /* Line 1455 of yacc.c */ -#line 1754 "hphp.y" +#line 1767 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),1, 0);;} break; case 379: /* Line 1455 of yacc.c */ -#line 1755 "hphp.y" +#line 1768 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),2, 0);;} break; case 380: /* Line 1455 of yacc.c */ -#line 1756 "hphp.y" +#line 1769 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),3, 0);;} break; case 381: /* Line 1455 of yacc.c */ -#line 1758 "hphp.y" +#line 1771 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),4,&(yyvsp[(3) - (3)]));;} break; case 382: /* Line 1455 of yacc.c */ -#line 1760 "hphp.y" +#line 1773 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),5,&(yyvsp[(3) - (3)]));;} break; case 383: /* Line 1455 of yacc.c */ -#line 1764 "hphp.y" +#line 1777 "hphp.y" { (yyval) = -1; if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1; else if ((yyvsp[(1) - (1)]).same("pcdata")) (yyval) = 2;;} @@ -9714,231 +9727,231 @@ yyreduce: case 384: /* Line 1455 of yacc.c */ -#line 1767 "hphp.y" +#line 1780 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 3;;} break; case 385: /* Line 1455 of yacc.c */ -#line 1768 "hphp.y" +#line 1781 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(0); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 4;;} break; case 386: /* Line 1455 of yacc.c */ -#line 1772 "hphp.y" +#line 1785 "hphp.y" { (yyval).reset();;} break; case 387: /* Line 1455 of yacc.c */ -#line 1773 "hphp.y" +#line 1786 "hphp.y" { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;} break; case 388: /* Line 1455 of yacc.c */ -#line 1777 "hphp.y" +#line 1790 "hphp.y" { (yyval).reset();;} break; case 389: /* Line 1455 of yacc.c */ -#line 1778 "hphp.y" +#line 1791 "hphp.y" { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;} break; case 390: /* Line 1455 of yacc.c */ -#line 1781 "hphp.y" +#line 1794 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 391: /* Line 1455 of yacc.c */ -#line 1782 "hphp.y" +#line 1795 "hphp.y" { (yyval).reset();;} break; case 392: /* Line 1455 of yacc.c */ -#line 1785 "hphp.y" +#line 1798 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 393: /* Line 1455 of yacc.c */ -#line 1786 "hphp.y" +#line 1799 "hphp.y" { (yyval).reset();;} break; case 394: /* Line 1455 of yacc.c */ -#line 1789 "hphp.y" +#line 1802 "hphp.y" { _p->onMemberModifier((yyval),NULL,(yyvsp[(1) - (1)]));;} break; case 395: /* Line 1455 of yacc.c */ -#line 1791 "hphp.y" +#line 1804 "hphp.y" { _p->onMemberModifier((yyval),&(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 396: /* Line 1455 of yacc.c */ -#line 1794 "hphp.y" +#line 1807 "hphp.y" { (yyval) = T_PUBLIC;;} break; case 397: /* Line 1455 of yacc.c */ -#line 1795 "hphp.y" +#line 1808 "hphp.y" { (yyval) = T_PROTECTED;;} break; case 398: /* Line 1455 of yacc.c */ -#line 1796 "hphp.y" +#line 1809 "hphp.y" { (yyval) = T_PRIVATE;;} break; case 399: /* Line 1455 of yacc.c */ -#line 1797 "hphp.y" +#line 1810 "hphp.y" { (yyval) = T_STATIC;;} break; case 400: /* Line 1455 of yacc.c */ -#line 1798 "hphp.y" +#line 1811 "hphp.y" { (yyval) = T_ABSTRACT;;} break; case 401: /* Line 1455 of yacc.c */ -#line 1799 "hphp.y" +#line 1812 "hphp.y" { (yyval) = T_FINAL;;} break; case 402: /* Line 1455 of yacc.c */ -#line 1800 "hphp.y" +#line 1813 "hphp.y" { (yyval) = T_ASYNC;;} break; case 403: /* Line 1455 of yacc.c */ -#line 1804 "hphp.y" +#line 1817 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 404: /* Line 1455 of yacc.c */ -#line 1805 "hphp.y" +#line 1818 "hphp.y" { (yyval).reset();;} break; case 405: /* Line 1455 of yacc.c */ -#line 1808 "hphp.y" +#line 1821 "hphp.y" { (yyval) = T_PUBLIC;;} break; case 406: /* Line 1455 of yacc.c */ -#line 1809 "hphp.y" +#line 1822 "hphp.y" { (yyval) = T_PROTECTED;;} break; case 407: /* Line 1455 of yacc.c */ -#line 1810 "hphp.y" +#line 1823 "hphp.y" { (yyval) = T_PRIVATE;;} break; case 408: /* Line 1455 of yacc.c */ -#line 1814 "hphp.y" +#line 1827 "hphp.y" { _p->onClassVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 409: /* Line 1455 of yacc.c */ -#line 1816 "hphp.y" +#line 1829 "hphp.y" { _p->onClassVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;} break; case 410: /* Line 1455 of yacc.c */ -#line 1817 "hphp.y" +#line 1830 "hphp.y" { _p->onClassVariable((yyval),0,(yyvsp[(1) - (1)]),0);;} break; case 411: /* Line 1455 of yacc.c */ -#line 1818 "hphp.y" +#line 1831 "hphp.y" { _p->onClassVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} break; case 412: /* Line 1455 of yacc.c */ -#line 1822 "hphp.y" +#line 1835 "hphp.y" { _p->onClassConstant((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 413: /* Line 1455 of yacc.c */ -#line 1824 "hphp.y" +#line 1837 "hphp.y" { _p->onClassConstant((yyval),0,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} break; case 414: /* Line 1455 of yacc.c */ -#line 1828 "hphp.y" +#line 1841 "hphp.y" { _p->onClassAbstractConstant((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 415: /* Line 1455 of yacc.c */ -#line 1830 "hphp.y" +#line 1843 "hphp.y" { _p->onClassAbstractConstant((yyval),NULL,(yyvsp[(3) - (3)]));;} break; case 416: /* Line 1455 of yacc.c */ -#line 1834 "hphp.y" +#line 1847 "hphp.y" { Token t; _p->onClassTypeConstant((yyval), (yyvsp[(2) - (3)]), t); _p->popTypeScope(); ;} @@ -9947,7 +9960,7 @@ yyreduce: case 417: /* Line 1455 of yacc.c */ -#line 1838 "hphp.y" +#line 1851 "hphp.y" { _p->onClassTypeConstant((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)])); _p->popTypeScope(); ;} break; @@ -9955,532 +9968,532 @@ yyreduce: case 418: /* Line 1455 of yacc.c */ -#line 1842 "hphp.y" +#line 1855 "hphp.y" { (yyval) = (yyvsp[(3) - (3)]); ;} break; case 419: /* Line 1455 of yacc.c */ -#line 1846 "hphp.y" +#line 1859 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 420: /* Line 1455 of yacc.c */ -#line 1848 "hphp.y" +#line 1861 "hphp.y" { _p->onNewObject((yyval), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));;} break; case 421: /* Line 1455 of yacc.c */ -#line 1849 "hphp.y" +#line 1862 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 422: /* Line 1455 of yacc.c */ -#line 1850 "hphp.y" +#line 1863 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_CLONE,1);;} break; case 423: /* Line 1455 of yacc.c */ -#line 1851 "hphp.y" +#line 1864 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 424: /* Line 1455 of yacc.c */ -#line 1852 "hphp.y" +#line 1865 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 425: /* Line 1455 of yacc.c */ -#line 1855 "hphp.y" +#line 1868 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 426: /* Line 1455 of yacc.c */ -#line 1859 "hphp.y" +#line 1872 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 427: /* Line 1455 of yacc.c */ -#line 1860 "hphp.y" +#line 1873 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 428: /* Line 1455 of yacc.c */ -#line 1864 "hphp.y" +#line 1877 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 429: /* Line 1455 of yacc.c */ -#line 1865 "hphp.y" +#line 1878 "hphp.y" { (yyval).reset();;} break; case 430: /* Line 1455 of yacc.c */ -#line 1869 "hphp.y" +#line 1882 "hphp.y" { _p->onYield((yyval), NULL);;} break; case 431: /* Line 1455 of yacc.c */ -#line 1870 "hphp.y" +#line 1883 "hphp.y" { _p->onYield((yyval), &(yyvsp[(2) - (2)]));;} break; case 432: /* Line 1455 of yacc.c */ -#line 1871 "hphp.y" +#line 1884 "hphp.y" { _p->onYieldPair((yyval), &(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]));;} break; case 433: /* Line 1455 of yacc.c */ -#line 1872 "hphp.y" +#line 1885 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); ;} break; case 434: /* Line 1455 of yacc.c */ -#line 1876 "hphp.y" +#line 1889 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;} break; case 435: /* Line 1455 of yacc.c */ -#line 1881 "hphp.y" +#line 1894 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;} break; case 436: /* Line 1455 of yacc.c */ -#line 1885 "hphp.y" +#line 1898 "hphp.y" { _p->onYieldFrom((yyval),&(yyvsp[(2) - (2)]));;} break; case 437: /* Line 1455 of yacc.c */ -#line 1889 "hphp.y" +#line 1902 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;} break; case 438: /* Line 1455 of yacc.c */ -#line 1893 "hphp.y" +#line 1906 "hphp.y" { _p->onAwait((yyval), (yyvsp[(2) - (2)])); ;} break; case 439: /* Line 1455 of yacc.c */ -#line 1897 "hphp.y" +#line 1910 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;} break; case 440: /* Line 1455 of yacc.c */ -#line 1902 "hphp.y" +#line 1915 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;} break; case 441: /* Line 1455 of yacc.c */ -#line 1906 "hphp.y" +#line 1919 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 442: /* Line 1455 of yacc.c */ -#line 1907 "hphp.y" +#line 1920 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 443: /* Line 1455 of yacc.c */ -#line 1908 "hphp.y" +#line 1921 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 444: /* Line 1455 of yacc.c */ -#line 1909 "hphp.y" +#line 1922 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 445: /* Line 1455 of yacc.c */ -#line 1910 "hphp.y" +#line 1923 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 446: /* Line 1455 of yacc.c */ -#line 1915 "hphp.y" +#line 1928 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]));;} break; case 447: /* Line 1455 of yacc.c */ -#line 1916 "hphp.y" +#line 1929 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} break; case 448: /* Line 1455 of yacc.c */ -#line 1917 "hphp.y" +#line 1930 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)]), 1);;} break; case 449: /* Line 1455 of yacc.c */ -#line 1920 "hphp.y" +#line 1933 "hphp.y" { _p->onAssignNew((yyval),(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]));;} break; case 450: /* Line 1455 of yacc.c */ -#line 1921 "hphp.y" +#line 1934 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PLUS_EQUAL);;} break; case 451: /* Line 1455 of yacc.c */ -#line 1922 "hphp.y" +#line 1935 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MINUS_EQUAL);;} break; case 452: /* Line 1455 of yacc.c */ -#line 1923 "hphp.y" +#line 1936 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MUL_EQUAL);;} break; case 453: /* Line 1455 of yacc.c */ -#line 1924 "hphp.y" +#line 1937 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_DIV_EQUAL);;} break; case 454: /* Line 1455 of yacc.c */ -#line 1925 "hphp.y" +#line 1938 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_CONCAT_EQUAL);;} break; case 455: /* Line 1455 of yacc.c */ -#line 1926 "hphp.y" +#line 1939 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MOD_EQUAL);;} break; case 456: /* Line 1455 of yacc.c */ -#line 1927 "hphp.y" +#line 1940 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_AND_EQUAL);;} break; case 457: /* Line 1455 of yacc.c */ -#line 1928 "hphp.y" +#line 1941 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_OR_EQUAL);;} break; case 458: /* Line 1455 of yacc.c */ -#line 1929 "hphp.y" +#line 1942 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_XOR_EQUAL);;} break; case 459: /* Line 1455 of yacc.c */ -#line 1930 "hphp.y" +#line 1943 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL_EQUAL);;} break; case 460: /* Line 1455 of yacc.c */ -#line 1931 "hphp.y" +#line 1944 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR_EQUAL);;} break; case 461: /* Line 1455 of yacc.c */ -#line 1932 "hphp.y" +#line 1945 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW_EQUAL);;} break; case 462: /* Line 1455 of yacc.c */ -#line 1933 "hphp.y" +#line 1946 "hphp.y" { UEXP((yyval),(yyvsp[(1) - (2)]),T_INC,0);;} break; case 463: /* Line 1455 of yacc.c */ -#line 1934 "hphp.y" +#line 1947 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INC,1);;} break; case 464: /* Line 1455 of yacc.c */ -#line 1935 "hphp.y" +#line 1948 "hphp.y" { UEXP((yyval),(yyvsp[(1) - (2)]),T_DEC,0);;} break; case 465: /* Line 1455 of yacc.c */ -#line 1936 "hphp.y" +#line 1949 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_DEC,1);;} break; case 466: /* Line 1455 of yacc.c */ -#line 1937 "hphp.y" +#line 1950 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);;} break; case 467: /* Line 1455 of yacc.c */ -#line 1938 "hphp.y" +#line 1951 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);;} break; case 468: /* Line 1455 of yacc.c */ -#line 1939 "hphp.y" +#line 1952 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);;} break; case 469: /* Line 1455 of yacc.c */ -#line 1940 "hphp.y" +#line 1953 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);;} break; case 470: /* Line 1455 of yacc.c */ -#line 1941 "hphp.y" +#line 1954 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);;} break; case 471: /* Line 1455 of yacc.c */ -#line 1942 "hphp.y" +#line 1955 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');;} break; case 472: /* Line 1455 of yacc.c */ -#line 1943 "hphp.y" +#line 1956 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');;} break; case 473: /* Line 1455 of yacc.c */ -#line 1944 "hphp.y" +#line 1957 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');;} break; case 474: /* Line 1455 of yacc.c */ -#line 1945 "hphp.y" +#line 1958 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');;} break; case 475: /* Line 1455 of yacc.c */ -#line 1946 "hphp.y" +#line 1959 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');;} break; case 476: /* Line 1455 of yacc.c */ -#line 1947 "hphp.y" +#line 1960 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');;} break; case 477: /* Line 1455 of yacc.c */ -#line 1948 "hphp.y" +#line 1961 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');;} break; case 478: /* Line 1455 of yacc.c */ -#line 1949 "hphp.y" +#line 1962 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');;} break; case 479: /* Line 1455 of yacc.c */ -#line 1950 "hphp.y" +#line 1963 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW);;} break; case 480: /* Line 1455 of yacc.c */ -#line 1951 "hphp.y" +#line 1964 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');;} break; case 481: /* Line 1455 of yacc.c */ -#line 1952 "hphp.y" +#line 1965 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PIPE);;} break; case 482: /* Line 1455 of yacc.c */ -#line 1953 "hphp.y" +#line 1966 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);;} break; case 483: /* Line 1455 of yacc.c */ -#line 1954 "hphp.y" +#line 1967 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);;} break; case 484: /* Line 1455 of yacc.c */ -#line 1955 "hphp.y" +#line 1968 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 485: /* Line 1455 of yacc.c */ -#line 1956 "hphp.y" +#line 1969 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 486: /* Line 1455 of yacc.c */ -#line 1957 "hphp.y" +#line 1970 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);;} break; case 487: /* Line 1455 of yacc.c */ -#line 1958 "hphp.y" +#line 1971 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);;} break; case 488: /* Line 1455 of yacc.c */ -#line 1959 "hphp.y" +#line 1972 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);;} break; case 489: /* Line 1455 of yacc.c */ -#line 1960 "hphp.y" +#line 1973 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);;} break; case 490: /* Line 1455 of yacc.c */ -#line 1961 "hphp.y" +#line 1974 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);;} break; case 491: /* Line 1455 of yacc.c */ -#line 1962 "hphp.y" +#line 1975 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);;} break; case 492: /* Line 1455 of yacc.c */ -#line 1963 "hphp.y" +#line 1976 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');;} break; case 493: /* Line 1455 of yacc.c */ -#line 1964 "hphp.y" +#line 1977 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_SMALLER_OR_EQUAL);;} break; @@ -10488,14 +10501,14 @@ yyreduce: case 494: /* Line 1455 of yacc.c */ -#line 1966 "hphp.y" +#line 1979 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');;} break; case 495: /* Line 1455 of yacc.c */ -#line 1967 "hphp.y" +#line 1980 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_GREATER_OR_EQUAL);;} break; @@ -10503,196 +10516,196 @@ yyreduce: case 496: /* Line 1455 of yacc.c */ -#line 1969 "hphp.y" +#line 1982 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SPACESHIP);;} break; case 497: /* Line 1455 of yacc.c */ -#line 1971 "hphp.y" +#line 1984 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_INSTANCEOF);;} break; case 498: /* Line 1455 of yacc.c */ -#line 1972 "hphp.y" +#line 1985 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 499: /* Line 1455 of yacc.c */ -#line 1973 "hphp.y" +#line 1986 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));;} break; case 500: /* Line 1455 of yacc.c */ -#line 1974 "hphp.y" +#line 1987 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));;} break; case 501: /* Line 1455 of yacc.c */ -#line 1975 "hphp.y" +#line 1988 "hphp.y" { _p->onNullCoalesce((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 502: /* Line 1455 of yacc.c */ -#line 1976 "hphp.y" +#line 1989 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 503: /* Line 1455 of yacc.c */ -#line 1977 "hphp.y" +#line 1990 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INT_CAST,1);;} break; case 504: /* Line 1455 of yacc.c */ -#line 1978 "hphp.y" +#line 1991 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_DOUBLE_CAST,1);;} break; case 505: /* Line 1455 of yacc.c */ -#line 1979 "hphp.y" +#line 1992 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_STRING_CAST,1);;} break; case 506: /* Line 1455 of yacc.c */ -#line 1980 "hphp.y" +#line 1993 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_ARRAY_CAST,1);;} break; case 507: /* Line 1455 of yacc.c */ -#line 1981 "hphp.y" +#line 1994 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_OBJECT_CAST,1);;} break; case 508: /* Line 1455 of yacc.c */ -#line 1982 "hphp.y" +#line 1995 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_BOOL_CAST,1);;} break; case 509: /* Line 1455 of yacc.c */ -#line 1983 "hphp.y" +#line 1996 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_UNSET_CAST,1);;} break; case 510: /* Line 1455 of yacc.c */ -#line 1984 "hphp.y" +#line 1997 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_EXIT,1);;} break; case 511: /* Line 1455 of yacc.c */ -#line 1985 "hphp.y" +#line 1998 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'@',1);;} break; case 512: /* Line 1455 of yacc.c */ -#line 1986 "hphp.y" +#line 1999 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 513: /* Line 1455 of yacc.c */ -#line 1987 "hphp.y" +#line 2000 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 514: /* Line 1455 of yacc.c */ -#line 1988 "hphp.y" +#line 2001 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 515: /* Line 1455 of yacc.c */ -#line 1989 "hphp.y" +#line 2002 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 516: /* Line 1455 of yacc.c */ -#line 1990 "hphp.y" +#line 2003 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 517: /* Line 1455 of yacc.c */ -#line 1991 "hphp.y" +#line 2004 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 518: /* Line 1455 of yacc.c */ -#line 1992 "hphp.y" +#line 2005 "hphp.y" { _p->onEncapsList((yyval),'`',(yyvsp[(2) - (3)]));;} break; case 519: /* Line 1455 of yacc.c */ -#line 1993 "hphp.y" +#line 2006 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_PRINT,1);;} break; case 520: /* Line 1455 of yacc.c */ -#line 1994 "hphp.y" +#line 2007 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 521: /* Line 1455 of yacc.c */ -#line 2001 "hphp.y" +#line 2014 "hphp.y" { (yyval) = (yyvsp[(3) - (5)]);;} break; case 522: /* Line 1455 of yacc.c */ -#line 2002 "hphp.y" +#line 2015 "hphp.y" { (yyval).reset();;} break; case 523: /* Line 1455 of yacc.c */ -#line 2007 "hphp.y" +#line 2020 "hphp.y" { Token t; _p->onNewLabelScope(true); _p->onClosureStart(t); @@ -10702,7 +10715,7 @@ yyreduce: case 524: /* Line 1455 of yacc.c */ -#line 2013 "hphp.y" +#line 2026 "hphp.y" { _p->finishStatement((yyvsp[(11) - (12)]), (yyvsp[(11) - (12)])); (yyvsp[(11) - (12)]) = 1; (yyval) = _p->onClosure( ClosureType::Long, nullptr, @@ -10714,7 +10727,7 @@ yyreduce: case 525: /* Line 1455 of yacc.c */ -#line 2021 "hphp.y" +#line 2034 "hphp.y" { Token t; _p->onNewLabelScope(true); _p->onClosureStart(t); @@ -10724,7 +10737,7 @@ yyreduce: case 526: /* Line 1455 of yacc.c */ -#line 2027 "hphp.y" +#line 2040 "hphp.y" { _p->finishStatement((yyvsp[(12) - (13)]), (yyvsp[(12) - (13)])); (yyvsp[(12) - (13)]) = 1; (yyval) = _p->onClosure( ClosureType::Long, &(yyvsp[(1) - (13)]), @@ -10736,7 +10749,7 @@ yyreduce: case 527: /* Line 1455 of yacc.c */ -#line 2037 "hphp.y" +#line 2050 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10750,7 +10763,7 @@ yyreduce: case 528: /* Line 1455 of yacc.c */ -#line 2045 "hphp.y" +#line 2058 "hphp.y" { Token v; Token w; Token x; (yyvsp[(1) - (4)]) = T_ASYNC; _p->onMemberModifier((yyvsp[(1) - (4)]), nullptr, (yyvsp[(1) - (4)])); @@ -10765,7 +10778,7 @@ yyreduce: case 529: /* Line 1455 of yacc.c */ -#line 2055 "hphp.y" +#line 2068 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10776,7 +10789,7 @@ yyreduce: case 530: /* Line 1455 of yacc.c */ -#line 2063 "hphp.y" +#line 2076 "hphp.y" { Token u; Token v; (yyvsp[(1) - (7)]) = T_ASYNC; _p->onMemberModifier((yyvsp[(1) - (7)]), nullptr, (yyvsp[(1) - (7)])); @@ -10791,7 +10804,7 @@ yyreduce: case 531: /* Line 1455 of yacc.c */ -#line 2073 "hphp.y" +#line 2086 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10802,7 +10815,7 @@ yyreduce: case 532: /* Line 1455 of yacc.c */ -#line 2079 "hphp.y" +#line 2092 "hphp.y" { Token u; Token v; Token w; Token x; Token y; (yyvsp[(1) - (5)]) = T_ASYNC; @@ -10819,7 +10832,7 @@ yyreduce: case 533: /* Line 1455 of yacc.c */ -#line 2090 "hphp.y" +#line 2103 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10833,7 +10846,7 @@ yyreduce: case 534: /* Line 1455 of yacc.c */ -#line 2098 "hphp.y" +#line 2111 "hphp.y" { Token v; Token w; Token x; _p->finishStatement((yyvsp[(3) - (3)]), (yyvsp[(3) - (3)])); (yyvsp[(3) - (3)]) = 1; (yyval) = _p->onClosure(ClosureType::Short, @@ -10846,7 +10859,7 @@ yyreduce: case 535: /* Line 1455 of yacc.c */ -#line 2105 "hphp.y" +#line 2118 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10857,7 +10870,7 @@ yyreduce: case 536: /* Line 1455 of yacc.c */ -#line 2113 "hphp.y" +#line 2126 "hphp.y" { Token u; Token v; _p->finishStatement((yyvsp[(6) - (6)]), (yyvsp[(6) - (6)])); (yyvsp[(6) - (6)]) = 1; (yyval) = _p->onClosure(ClosureType::Short, @@ -10870,28 +10883,28 @@ yyreduce: case 537: /* Line 1455 of yacc.c */ -#line 2123 "hphp.y" +#line 2136 "hphp.y" { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));;} break; case 538: /* Line 1455 of yacc.c */ -#line 2124 "hphp.y" +#line 2137 "hphp.y" { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));;} break; case 539: /* Line 1455 of yacc.c */ -#line 2126 "hphp.y" +#line 2139 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); ;} break; case 540: /* Line 1455 of yacc.c */ -#line 2130 "hphp.y" +#line 2143 "hphp.y" { validate_shape_keyname((yyvsp[(1) - (1)]), _p); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); ;} break; @@ -10899,294 +10912,294 @@ yyreduce: case 541: /* Line 1455 of yacc.c */ -#line 2132 "hphp.y" +#line 2145 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 542: /* Line 1455 of yacc.c */ -#line 2139 "hphp.y" +#line 2152 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} break; case 543: /* Line 1455 of yacc.c */ -#line 2142 "hphp.y" +#line 2155 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} break; case 544: /* Line 1455 of yacc.c */ -#line 2149 "hphp.y" +#line 2162 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} break; case 545: /* Line 1455 of yacc.c */ -#line 2152 "hphp.y" +#line 2165 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} break; case 546: /* Line 1455 of yacc.c */ -#line 2157 "hphp.y" +#line 2170 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 547: /* Line 1455 of yacc.c */ -#line 2158 "hphp.y" +#line 2171 "hphp.y" { (yyval).reset(); ;} break; case 548: /* Line 1455 of yacc.c */ -#line 2163 "hphp.y" +#line 2176 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 549: /* Line 1455 of yacc.c */ -#line 2164 "hphp.y" +#line 2177 "hphp.y" { (yyval).reset(); ;} break; case 550: /* Line 1455 of yacc.c */ -#line 2168 "hphp.y" +#line 2181 "hphp.y" { _p->onArray((yyval), (yyvsp[(3) - (4)]), T_ARRAY);;} break; case 551: /* Line 1455 of yacc.c */ -#line 2172 "hphp.y" +#line 2185 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;} break; case 552: /* Line 1455 of yacc.c */ -#line 2173 "hphp.y" +#line 2186 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 553: /* Line 1455 of yacc.c */ -#line 2178 "hphp.y" +#line 2191 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 554: /* Line 1455 of yacc.c */ -#line 2179 "hphp.y" +#line 2192 "hphp.y" { (yyval).reset();;} break; case 555: /* Line 1455 of yacc.c */ -#line 2184 "hphp.y" +#line 2197 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 556: /* Line 1455 of yacc.c */ -#line 2185 "hphp.y" +#line 2198 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 557: /* Line 1455 of yacc.c */ -#line 2188 "hphp.y" +#line 2201 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;} break; case 558: /* Line 1455 of yacc.c */ -#line 2189 "hphp.y" +#line 2202 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} break; case 559: /* Line 1455 of yacc.c */ -#line 2194 "hphp.y" +#line 2207 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 560: /* Line 1455 of yacc.c */ -#line 2195 "hphp.y" +#line 2208 "hphp.y" { (yyval).reset();;} break; case 561: /* Line 1455 of yacc.c */ -#line 2201 "hphp.y" +#line 2214 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 562: /* Line 1455 of yacc.c */ -#line 2203 "hphp.y" +#line 2216 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 563: /* Line 1455 of yacc.c */ -#line 2208 "hphp.y" +#line 2221 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 564: /* Line 1455 of yacc.c */ -#line 2209 "hphp.y" +#line 2222 "hphp.y" { (yyval).reset();;} break; case 565: /* Line 1455 of yacc.c */ -#line 2215 "hphp.y" +#line 2228 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 566: /* Line 1455 of yacc.c */ -#line 2217 "hphp.y" +#line 2230 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 567: /* Line 1455 of yacc.c */ -#line 2221 "hphp.y" +#line 2234 "hphp.y" { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;} break; case 568: /* Line 1455 of yacc.c */ -#line 2225 "hphp.y" +#line 2238 "hphp.y" { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;} break; case 569: /* Line 1455 of yacc.c */ -#line 2229 "hphp.y" +#line 2242 "hphp.y" { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;} break; case 570: /* Line 1455 of yacc.c */ -#line 2233 "hphp.y" +#line 2246 "hphp.y" { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;} break; case 571: /* Line 1455 of yacc.c */ -#line 2237 "hphp.y" +#line 2250 "hphp.y" { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;} break; case 572: /* Line 1455 of yacc.c */ -#line 2241 "hphp.y" +#line 2254 "hphp.y" { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;} break; case 573: /* Line 1455 of yacc.c */ -#line 2245 "hphp.y" +#line 2258 "hphp.y" { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;} break; case 574: /* Line 1455 of yacc.c */ -#line 2249 "hphp.y" +#line 2262 "hphp.y" { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;} break; case 575: /* Line 1455 of yacc.c */ -#line 2253 "hphp.y" +#line 2266 "hphp.y" { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;} break; case 576: /* Line 1455 of yacc.c */ -#line 2258 "hphp.y" +#line 2271 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 577: /* Line 1455 of yacc.c */ -#line 2259 "hphp.y" +#line 2272 "hphp.y" { (yyval).reset();;} break; case 578: /* Line 1455 of yacc.c */ -#line 2264 "hphp.y" +#line 2277 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 579: /* Line 1455 of yacc.c */ -#line 2265 "hphp.y" +#line 2278 "hphp.y" { (yyval).reset();;} break; case 580: /* Line 1455 of yacc.c */ -#line 2270 "hphp.y" +#line 2283 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 581: /* Line 1455 of yacc.c */ -#line 2271 "hphp.y" +#line 2284 "hphp.y" { (yyval).reset();;} break; case 582: /* Line 1455 of yacc.c */ -#line 2276 "hphp.y" +#line 2289 "hphp.y" { Token t; _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName); BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;} @@ -11195,7 +11208,7 @@ yyreduce: case 583: /* Line 1455 of yacc.c */ -#line 2283 "hphp.y" +#line 2296 "hphp.y" { Token t; _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName); BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;} @@ -11204,63 +11217,63 @@ yyreduce: case 584: /* Line 1455 of yacc.c */ -#line 2290 "hphp.y" +#line 2303 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 585: /* Line 1455 of yacc.c */ -#line 2292 "hphp.y" +#line 2305 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 586: /* Line 1455 of yacc.c */ -#line 2296 "hphp.y" +#line 2309 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 587: /* Line 1455 of yacc.c */ -#line 2297 "hphp.y" +#line 2310 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 588: /* Line 1455 of yacc.c */ -#line 2298 "hphp.y" +#line 2311 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 589: /* Line 1455 of yacc.c */ -#line 2299 "hphp.y" +#line 2312 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 590: /* Line 1455 of yacc.c */ -#line 2300 "hphp.y" +#line 2313 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 591: /* Line 1455 of yacc.c */ -#line 2301 "hphp.y" +#line 2314 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 592: /* Line 1455 of yacc.c */ -#line 2302 "hphp.y" +#line 2315 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); ;} break; @@ -11268,56 +11281,56 @@ yyreduce: case 593: /* Line 1455 of yacc.c */ -#line 2304 "hphp.y" +#line 2317 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 594: /* Line 1455 of yacc.c */ -#line 2305 "hphp.y" +#line 2318 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 595: /* Line 1455 of yacc.c */ -#line 2309 "hphp.y" +#line 2322 "hphp.y" { _p->onClosureParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 596: /* Line 1455 of yacc.c */ -#line 2310 "hphp.y" +#line 2323 "hphp.y" { _p->onClosureParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} break; case 597: /* Line 1455 of yacc.c */ -#line 2311 "hphp.y" +#line 2324 "hphp.y" { _p->onClosureParam((yyval), 0,(yyvsp[(1) - (1)]),0);;} break; case 598: /* Line 1455 of yacc.c */ -#line 2312 "hphp.y" +#line 2325 "hphp.y" { _p->onClosureParam((yyval), 0,(yyvsp[(2) - (2)]),1);;} break; case 599: /* Line 1455 of yacc.c */ -#line 2319 "hphp.y" +#line 2332 "hphp.y" { xhp_tag(_p,(yyval),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]));;} break; case 600: /* Line 1455 of yacc.c */ -#line 2322 "hphp.y" +#line 2335 "hphp.y" { Token t1; _p->onArray(t1,(yyvsp[(1) - (2)])); Token t2; _p->onArray(t2,(yyvsp[(2) - (2)])); Token file; scalar_file(_p, file); @@ -11332,7 +11345,7 @@ yyreduce: case 601: /* Line 1455 of yacc.c */ -#line 2333 "hphp.y" +#line 2346 "hphp.y" { Token file; scalar_file(_p, file); Token line; scalar_line(_p, line); _p->onArray((yyvsp[(4) - (6)]),(yyvsp[(1) - (6)])); @@ -11347,49 +11360,49 @@ yyreduce: case 602: /* Line 1455 of yacc.c */ -#line 2344 "hphp.y" +#line 2357 "hphp.y" { (yyval).reset(); (yyval).setText("");;} break; case 603: /* Line 1455 of yacc.c */ -#line 2345 "hphp.y" +#line 2358 "hphp.y" { (yyval).reset(); (yyval).setText((yyvsp[(1) - (1)]));;} break; case 604: /* Line 1455 of yacc.c */ -#line 2350 "hphp.y" +#line 2363 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),0);;} break; case 605: /* Line 1455 of yacc.c */ -#line 2351 "hphp.y" +#line 2364 "hphp.y" { (yyval).reset();;} break; case 606: /* Line 1455 of yacc.c */ -#line 2354 "hphp.y" +#line 2367 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (2)]),0,(yyvsp[(2) - (2)]),0);;} break; case 607: /* Line 1455 of yacc.c */ -#line 2355 "hphp.y" +#line 2368 "hphp.y" { (yyval).reset();;} break; case 608: /* Line 1455 of yacc.c */ -#line 2358 "hphp.y" +#line 2371 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; @@ -11397,7 +11410,7 @@ yyreduce: case 609: /* Line 1455 of yacc.c */ -#line 2362 "hphp.y" +#line 2375 "hphp.y" { (yyvsp[(1) - (1)]).xhpDecode(); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} @@ -11406,14 +11419,14 @@ yyreduce: case 610: /* Line 1455 of yacc.c */ -#line 2365 "hphp.y" +#line 2378 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 611: /* Line 1455 of yacc.c */ -#line 2368 "hphp.y" +#line 2381 "hphp.y" { (yyval).reset(); if ((yyvsp[(1) - (1)]).htmlTrim()) { (yyvsp[(1) - (1)]).xhpDecode(); @@ -11426,651 +11439,651 @@ yyreduce: case 612: /* Line 1455 of yacc.c */ -#line 2375 "hphp.y" +#line 2388 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); ;} break; case 613: /* Line 1455 of yacc.c */ -#line 2376 "hphp.y" +#line 2389 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 614: /* Line 1455 of yacc.c */ -#line 2380 "hphp.y" +#line 2393 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 615: /* Line 1455 of yacc.c */ -#line 2382 "hphp.y" +#line 2395 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]) + ":" + (yyvsp[(3) - (3)]);;} break; case 616: /* Line 1455 of yacc.c */ -#line 2384 "hphp.y" +#line 2397 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]) + "-" + (yyvsp[(3) - (3)]);;} break; case 617: /* Line 1455 of yacc.c */ -#line 2388 "hphp.y" +#line 2401 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 618: /* Line 1455 of yacc.c */ -#line 2389 "hphp.y" +#line 2402 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 619: /* Line 1455 of yacc.c */ -#line 2390 "hphp.y" +#line 2403 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 620: /* Line 1455 of yacc.c */ -#line 2391 "hphp.y" +#line 2404 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 621: /* Line 1455 of yacc.c */ -#line 2392 "hphp.y" +#line 2405 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 622: /* Line 1455 of yacc.c */ -#line 2393 "hphp.y" +#line 2406 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 623: /* Line 1455 of yacc.c */ -#line 2394 "hphp.y" +#line 2407 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 624: /* Line 1455 of yacc.c */ -#line 2395 "hphp.y" +#line 2408 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 625: /* Line 1455 of yacc.c */ -#line 2396 "hphp.y" +#line 2409 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 626: /* Line 1455 of yacc.c */ -#line 2397 "hphp.y" +#line 2410 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 627: /* Line 1455 of yacc.c */ -#line 2398 "hphp.y" +#line 2411 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 628: /* Line 1455 of yacc.c */ -#line 2399 "hphp.y" +#line 2412 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 629: /* Line 1455 of yacc.c */ -#line 2400 "hphp.y" +#line 2413 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 630: /* Line 1455 of yacc.c */ -#line 2401 "hphp.y" +#line 2414 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 631: /* Line 1455 of yacc.c */ -#line 2402 "hphp.y" +#line 2415 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 632: /* Line 1455 of yacc.c */ -#line 2403 "hphp.y" +#line 2416 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 633: /* Line 1455 of yacc.c */ -#line 2404 "hphp.y" +#line 2417 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 634: /* Line 1455 of yacc.c */ -#line 2405 "hphp.y" +#line 2418 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 635: /* Line 1455 of yacc.c */ -#line 2406 "hphp.y" +#line 2419 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 636: /* Line 1455 of yacc.c */ -#line 2407 "hphp.y" +#line 2420 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 637: /* Line 1455 of yacc.c */ -#line 2408 "hphp.y" +#line 2421 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 638: /* Line 1455 of yacc.c */ -#line 2409 "hphp.y" +#line 2422 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 639: /* Line 1455 of yacc.c */ -#line 2410 "hphp.y" +#line 2423 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 640: /* Line 1455 of yacc.c */ -#line 2411 "hphp.y" +#line 2424 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 641: /* Line 1455 of yacc.c */ -#line 2412 "hphp.y" +#line 2425 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 642: /* Line 1455 of yacc.c */ -#line 2413 "hphp.y" +#line 2426 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 643: /* Line 1455 of yacc.c */ -#line 2414 "hphp.y" +#line 2427 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 644: /* Line 1455 of yacc.c */ -#line 2415 "hphp.y" +#line 2428 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 645: /* Line 1455 of yacc.c */ -#line 2416 "hphp.y" +#line 2429 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 646: /* Line 1455 of yacc.c */ -#line 2417 "hphp.y" +#line 2430 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 647: /* Line 1455 of yacc.c */ -#line 2418 "hphp.y" +#line 2431 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 648: /* Line 1455 of yacc.c */ -#line 2419 "hphp.y" +#line 2432 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 649: /* Line 1455 of yacc.c */ -#line 2420 "hphp.y" +#line 2433 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 650: /* Line 1455 of yacc.c */ -#line 2421 "hphp.y" +#line 2434 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 651: /* Line 1455 of yacc.c */ -#line 2422 "hphp.y" +#line 2435 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 652: /* Line 1455 of yacc.c */ -#line 2423 "hphp.y" +#line 2436 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 653: /* Line 1455 of yacc.c */ -#line 2424 "hphp.y" +#line 2437 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 654: /* Line 1455 of yacc.c */ -#line 2425 "hphp.y" +#line 2438 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 655: /* Line 1455 of yacc.c */ -#line 2426 "hphp.y" +#line 2439 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 656: /* Line 1455 of yacc.c */ -#line 2427 "hphp.y" +#line 2440 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 657: /* Line 1455 of yacc.c */ -#line 2428 "hphp.y" +#line 2441 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 658: /* Line 1455 of yacc.c */ -#line 2429 "hphp.y" +#line 2442 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 659: /* Line 1455 of yacc.c */ -#line 2430 "hphp.y" +#line 2443 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 660: /* Line 1455 of yacc.c */ -#line 2431 "hphp.y" +#line 2444 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 661: /* Line 1455 of yacc.c */ -#line 2432 "hphp.y" +#line 2445 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 662: /* Line 1455 of yacc.c */ -#line 2433 "hphp.y" +#line 2446 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 663: /* Line 1455 of yacc.c */ -#line 2434 "hphp.y" +#line 2447 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 664: /* Line 1455 of yacc.c */ -#line 2435 "hphp.y" +#line 2448 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 665: /* Line 1455 of yacc.c */ -#line 2436 "hphp.y" +#line 2449 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 666: /* Line 1455 of yacc.c */ -#line 2437 "hphp.y" +#line 2450 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 667: /* Line 1455 of yacc.c */ -#line 2438 "hphp.y" +#line 2451 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 668: /* Line 1455 of yacc.c */ -#line 2439 "hphp.y" +#line 2452 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 669: /* Line 1455 of yacc.c */ -#line 2440 "hphp.y" +#line 2453 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 670: /* Line 1455 of yacc.c */ -#line 2441 "hphp.y" +#line 2454 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 671: /* Line 1455 of yacc.c */ -#line 2442 "hphp.y" +#line 2455 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 672: /* Line 1455 of yacc.c */ -#line 2443 "hphp.y" +#line 2456 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 673: /* Line 1455 of yacc.c */ -#line 2444 "hphp.y" +#line 2457 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 674: /* Line 1455 of yacc.c */ -#line 2445 "hphp.y" +#line 2458 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 675: /* Line 1455 of yacc.c */ -#line 2446 "hphp.y" +#line 2459 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 676: /* Line 1455 of yacc.c */ -#line 2447 "hphp.y" +#line 2460 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 677: /* Line 1455 of yacc.c */ -#line 2448 "hphp.y" +#line 2461 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 678: /* Line 1455 of yacc.c */ -#line 2449 "hphp.y" +#line 2462 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 679: /* Line 1455 of yacc.c */ -#line 2450 "hphp.y" +#line 2463 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 680: /* Line 1455 of yacc.c */ -#line 2451 "hphp.y" +#line 2464 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 681: /* Line 1455 of yacc.c */ -#line 2452 "hphp.y" +#line 2465 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 682: /* Line 1455 of yacc.c */ -#line 2453 "hphp.y" +#line 2466 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 683: /* Line 1455 of yacc.c */ -#line 2454 "hphp.y" +#line 2467 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 684: /* Line 1455 of yacc.c */ -#line 2455 "hphp.y" +#line 2468 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 685: /* Line 1455 of yacc.c */ -#line 2456 "hphp.y" +#line 2469 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 686: /* Line 1455 of yacc.c */ -#line 2457 "hphp.y" +#line 2470 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 687: /* Line 1455 of yacc.c */ -#line 2458 "hphp.y" +#line 2471 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 688: /* Line 1455 of yacc.c */ -#line 2459 "hphp.y" +#line 2472 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 689: /* Line 1455 of yacc.c */ -#line 2460 "hphp.y" +#line 2473 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 690: /* Line 1455 of yacc.c */ -#line 2461 "hphp.y" +#line 2474 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 691: /* Line 1455 of yacc.c */ -#line 2462 "hphp.y" +#line 2475 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 692: /* Line 1455 of yacc.c */ -#line 2463 "hphp.y" +#line 2476 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 693: /* Line 1455 of yacc.c */ -#line 2464 "hphp.y" +#line 2477 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 694: /* Line 1455 of yacc.c */ -#line 2465 "hphp.y" +#line 2478 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 695: /* Line 1455 of yacc.c */ -#line 2466 "hphp.y" +#line 2479 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 696: /* Line 1455 of yacc.c */ -#line 2467 "hphp.y" +#line 2480 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 697: /* Line 1455 of yacc.c */ -#line 2468 "hphp.y" +#line 2481 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 698: /* Line 1455 of yacc.c */ -#line 2473 "hphp.y" +#line 2486 "hphp.y" { _p->onCall((yyval),0,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 699: /* Line 1455 of yacc.c */ -#line 2477 "hphp.y" +#line 2490 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 700: /* Line 1455 of yacc.c */ -#line 2478 "hphp.y" +#line 2491 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 701: /* Line 1455 of yacc.c */ -#line 2482 "hphp.y" +#line 2495 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 702: /* Line 1455 of yacc.c */ -#line 2483 "hphp.y" +#line 2496 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 703: /* Line 1455 of yacc.c */ -#line 2484 "hphp.y" +#line 2497 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} break; case 704: /* Line 1455 of yacc.c */ -#line 2485 "hphp.y" +#line 2498 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]), Parser::StaticClassExprName);;} break; @@ -12078,7 +12091,7 @@ yyreduce: case 705: /* Line 1455 of yacc.c */ -#line 2487 "hphp.y" +#line 2500 "hphp.y" { _p->onName((yyval),(yyvsp[(2) - (3)]), Parser::StaticClassExprName);;} break; @@ -12086,28 +12099,28 @@ yyreduce: case 706: /* Line 1455 of yacc.c */ -#line 2491 "hphp.y" +#line 2504 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 707: /* Line 1455 of yacc.c */ -#line 2500 "hphp.y" +#line 2513 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 708: /* Line 1455 of yacc.c */ -#line 2503 "hphp.y" +#line 2516 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 709: /* Line 1455 of yacc.c */ -#line 2504 "hphp.y" +#line 2517 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]), Parser::StaticClassExprName);;} break; @@ -12115,112 +12128,112 @@ yyreduce: case 710: /* Line 1455 of yacc.c */ -#line 2514 "hphp.y" +#line 2527 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 711: /* Line 1455 of yacc.c */ -#line 2518 "hphp.y" +#line 2531 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 712: /* Line 1455 of yacc.c */ -#line 2519 "hphp.y" +#line 2532 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} break; case 713: /* Line 1455 of yacc.c */ -#line 2520 "hphp.y" +#line 2533 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::ExprName);;} break; case 714: /* Line 1455 of yacc.c */ -#line 2524 "hphp.y" +#line 2537 "hphp.y" { (yyval).reset();;} break; case 715: /* Line 1455 of yacc.c */ -#line 2525 "hphp.y" +#line 2538 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 716: /* Line 1455 of yacc.c */ -#line 2526 "hphp.y" +#line 2539 "hphp.y" { (yyval).reset();;} break; case 717: /* Line 1455 of yacc.c */ -#line 2530 "hphp.y" +#line 2543 "hphp.y" { (yyval).reset();;} break; case 718: /* Line 1455 of yacc.c */ -#line 2531 "hphp.y" +#line 2544 "hphp.y" { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), 0);;} break; case 719: /* Line 1455 of yacc.c */ -#line 2532 "hphp.y" +#line 2545 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 720: /* Line 1455 of yacc.c */ -#line 2536 "hphp.y" +#line 2549 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 721: /* Line 1455 of yacc.c */ -#line 2537 "hphp.y" +#line 2550 "hphp.y" { (yyval).reset();;} break; case 722: /* Line 1455 of yacc.c */ -#line 2541 "hphp.y" +#line 2554 "hphp.y" { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} break; case 723: /* Line 1455 of yacc.c */ -#line 2542 "hphp.y" +#line 2555 "hphp.y" { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} break; case 724: /* Line 1455 of yacc.c */ -#line 2543 "hphp.y" +#line 2556 "hphp.y" { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;} break; case 725: /* Line 1455 of yacc.c */ -#line 2544 "hphp.y" +#line 2557 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; @@ -12228,343 +12241,343 @@ yyreduce: case 726: /* Line 1455 of yacc.c */ -#line 2546 "hphp.y" +#line 2559 "hphp.y" { _p->onScalar((yyval), T_LINE, (yyvsp[(1) - (1)]));;} break; case 727: /* Line 1455 of yacc.c */ -#line 2547 "hphp.y" +#line 2560 "hphp.y" { _p->onScalar((yyval), T_FILE, (yyvsp[(1) - (1)]));;} break; case 728: /* Line 1455 of yacc.c */ -#line 2548 "hphp.y" +#line 2561 "hphp.y" { _p->onScalar((yyval), T_DIR, (yyvsp[(1) - (1)]));;} break; case 729: /* Line 1455 of yacc.c */ -#line 2549 "hphp.y" +#line 2562 "hphp.y" { _p->onScalar((yyval), T_CLASS_C, (yyvsp[(1) - (1)]));;} break; case 730: /* Line 1455 of yacc.c */ -#line 2550 "hphp.y" +#line 2563 "hphp.y" { _p->onScalar((yyval), T_TRAIT_C, (yyvsp[(1) - (1)]));;} break; case 731: /* Line 1455 of yacc.c */ -#line 2551 "hphp.y" +#line 2564 "hphp.y" { _p->onScalar((yyval), T_METHOD_C, (yyvsp[(1) - (1)]));;} break; case 732: /* Line 1455 of yacc.c */ -#line 2552 "hphp.y" +#line 2565 "hphp.y" { _p->onScalar((yyval), T_FUNC_C, (yyvsp[(1) - (1)]));;} break; case 733: /* Line 1455 of yacc.c */ -#line 2553 "hphp.y" +#line 2566 "hphp.y" { _p->onScalar((yyval), T_NS_C, (yyvsp[(1) - (1)]));;} break; case 734: /* Line 1455 of yacc.c */ -#line 2554 "hphp.y" +#line 2567 "hphp.y" { _p->onScalar((yyval), T_COMPILER_HALT_OFFSET, (yyvsp[(1) - (1)]));;} break; case 735: /* Line 1455 of yacc.c */ -#line 2557 "hphp.y" +#line 2570 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} break; case 736: /* Line 1455 of yacc.c */ -#line 2559 "hphp.y" +#line 2572 "hphp.y" { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} break; case 737: /* Line 1455 of yacc.c */ -#line 2563 "hphp.y" +#line 2576 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 738: /* Line 1455 of yacc.c */ -#line 2564 "hphp.y" +#line 2577 "hphp.y" { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 739: /* Line 1455 of yacc.c */ -#line 2566 "hphp.y" +#line 2579 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 740: /* Line 1455 of yacc.c */ -#line 2567 "hphp.y" +#line 2580 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY); ;} break; case 741: /* Line 1455 of yacc.c */ -#line 2569 "hphp.y" +#line 2582 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 742: /* Line 1455 of yacc.c */ -#line 2570 "hphp.y" +#line 2583 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 743: /* Line 1455 of yacc.c */ -#line 2571 "hphp.y" +#line 2584 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 744: /* Line 1455 of yacc.c */ -#line 2572 "hphp.y" +#line 2585 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 745: /* Line 1455 of yacc.c */ -#line 2573 "hphp.y" +#line 2586 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 746: /* Line 1455 of yacc.c */ -#line 2574 "hphp.y" +#line 2587 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 747: /* Line 1455 of yacc.c */ -#line 2575 "hphp.y" +#line 2588 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 748: /* Line 1455 of yacc.c */ -#line 2577 "hphp.y" +#line 2590 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);;} break; case 749: /* Line 1455 of yacc.c */ -#line 2579 "hphp.y" +#line 2592 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);;} break; case 750: /* Line 1455 of yacc.c */ -#line 2581 "hphp.y" +#line 2594 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);;} break; case 751: /* Line 1455 of yacc.c */ -#line 2583 "hphp.y" +#line 2596 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);;} break; case 752: /* Line 1455 of yacc.c */ -#line 2585 "hphp.y" +#line 2598 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);;} break; case 753: /* Line 1455 of yacc.c */ -#line 2586 "hphp.y" +#line 2599 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');;} break; case 754: /* Line 1455 of yacc.c */ -#line 2587 "hphp.y" +#line 2600 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');;} break; case 755: /* Line 1455 of yacc.c */ -#line 2588 "hphp.y" +#line 2601 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');;} break; case 756: /* Line 1455 of yacc.c */ -#line 2589 "hphp.y" +#line 2602 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');;} break; case 757: /* Line 1455 of yacc.c */ -#line 2590 "hphp.y" +#line 2603 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');;} break; case 758: /* Line 1455 of yacc.c */ -#line 2591 "hphp.y" +#line 2604 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');;} break; case 759: /* Line 1455 of yacc.c */ -#line 2592 "hphp.y" +#line 2605 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');;} break; case 760: /* Line 1455 of yacc.c */ -#line 2593 "hphp.y" +#line 2606 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');;} break; case 761: /* Line 1455 of yacc.c */ -#line 2594 "hphp.y" +#line 2607 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');;} break; case 762: /* Line 1455 of yacc.c */ -#line 2595 "hphp.y" +#line 2608 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);;} break; case 763: /* Line 1455 of yacc.c */ -#line 2596 "hphp.y" +#line 2609 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);;} break; case 764: /* Line 1455 of yacc.c */ -#line 2597 "hphp.y" +#line 2610 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW);;} break; case 765: /* Line 1455 of yacc.c */ -#line 2598 "hphp.y" +#line 2611 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);;} break; case 766: /* Line 1455 of yacc.c */ -#line 2599 "hphp.y" +#line 2612 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);;} break; case 767: /* Line 1455 of yacc.c */ -#line 2600 "hphp.y" +#line 2613 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 768: /* Line 1455 of yacc.c */ -#line 2601 "hphp.y" +#line 2614 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 769: /* Line 1455 of yacc.c */ -#line 2603 "hphp.y" +#line 2616 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);;} break; case 770: /* Line 1455 of yacc.c */ -#line 2605 "hphp.y" +#line 2618 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);;} break; case 771: /* Line 1455 of yacc.c */ -#line 2607 "hphp.y" +#line 2620 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);;} break; case 772: /* Line 1455 of yacc.c */ -#line 2609 "hphp.y" +#line 2622 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);;} break; case 773: /* Line 1455 of yacc.c */ -#line 2610 "hphp.y" +#line 2623 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');;} break; case 774: /* Line 1455 of yacc.c */ -#line 2612 "hphp.y" +#line 2625 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_SMALLER_OR_EQUAL);;} break; @@ -12572,14 +12585,14 @@ yyreduce: case 775: /* Line 1455 of yacc.c */ -#line 2614 "hphp.y" +#line 2627 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');;} break; case 776: /* Line 1455 of yacc.c */ -#line 2617 "hphp.y" +#line 2630 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_GREATER_OR_EQUAL);;} break; @@ -12587,49 +12600,49 @@ yyreduce: case 777: /* Line 1455 of yacc.c */ -#line 2621 "hphp.y" +#line 2634 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SPACESHIP);;} break; case 778: /* Line 1455 of yacc.c */ -#line 2624 "hphp.y" +#line 2637 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));;} break; case 779: /* Line 1455 of yacc.c */ -#line 2625 "hphp.y" +#line 2638 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));;} break; case 780: /* Line 1455 of yacc.c */ -#line 2629 "hphp.y" +#line 2642 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 781: /* Line 1455 of yacc.c */ -#line 2630 "hphp.y" +#line 2643 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 782: /* Line 1455 of yacc.c */ -#line 2636 "hphp.y" +#line 2649 "hphp.y" { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; case 783: /* Line 1455 of yacc.c */ -#line 2638 "hphp.y" +#line 2651 "hphp.y" { (yyvsp[(1) - (3)]).xhpLabel(); _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; @@ -12637,7 +12650,7 @@ yyreduce: case 784: /* Line 1455 of yacc.c */ -#line 2641 "hphp.y" +#line 2654 "hphp.y" { (yyvsp[(1) - (3)]).xhpLabel(); _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; @@ -12645,56 +12658,56 @@ yyreduce: case 785: /* Line 1455 of yacc.c */ -#line 2645 "hphp.y" +#line 2658 "hphp.y" { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; case 786: /* Line 1455 of yacc.c */ -#line 2649 "hphp.y" +#line 2662 "hphp.y" { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 787: /* Line 1455 of yacc.c */ -#line 2650 "hphp.y" +#line 2663 "hphp.y" { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 788: /* Line 1455 of yacc.c */ -#line 2651 "hphp.y" +#line 2664 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 789: /* Line 1455 of yacc.c */ -#line 2652 "hphp.y" +#line 2665 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 790: /* Line 1455 of yacc.c */ -#line 2653 "hphp.y" +#line 2666 "hphp.y" { _p->onEncapsList((yyval),'"',(yyvsp[(2) - (3)]));;} break; case 791: /* Line 1455 of yacc.c */ -#line 2654 "hphp.y" +#line 2667 "hphp.y" { _p->onEncapsList((yyval),'\'',(yyvsp[(2) - (3)]));;} break; case 792: /* Line 1455 of yacc.c */ -#line 2656 "hphp.y" +#line 2669 "hphp.y" { _p->onEncapsList((yyval),T_START_HEREDOC, (yyvsp[(2) - (3)]));;} break; @@ -12702,140 +12715,140 @@ yyreduce: case 793: /* Line 1455 of yacc.c */ -#line 2661 "hphp.y" +#line 2674 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 794: /* Line 1455 of yacc.c */ -#line 2662 "hphp.y" +#line 2675 "hphp.y" { (yyval).reset();;} break; case 795: /* Line 1455 of yacc.c */ -#line 2666 "hphp.y" +#line 2679 "hphp.y" { (yyval).reset();;} break; case 796: /* Line 1455 of yacc.c */ -#line 2667 "hphp.y" +#line 2680 "hphp.y" { (yyval).reset();;} break; case 797: /* Line 1455 of yacc.c */ -#line 2670 "hphp.y" +#line 2683 "hphp.y" { only_in_hh_syntax(_p); (yyval).reset();;} break; case 798: /* Line 1455 of yacc.c */ -#line 2671 "hphp.y" +#line 2684 "hphp.y" { (yyval).reset();;} break; case 799: /* Line 1455 of yacc.c */ -#line 2677 "hphp.y" +#line 2690 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 800: /* Line 1455 of yacc.c */ -#line 2679 "hphp.y" +#line 2692 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 801: /* Line 1455 of yacc.c */ -#line 2681 "hphp.y" +#line 2694 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 802: /* Line 1455 of yacc.c */ -#line 2682 "hphp.y" +#line 2695 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 803: /* Line 1455 of yacc.c */ -#line 2686 "hphp.y" +#line 2699 "hphp.y" { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} break; case 804: /* Line 1455 of yacc.c */ -#line 2687 "hphp.y" +#line 2700 "hphp.y" { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} break; case 805: /* Line 1455 of yacc.c */ -#line 2688 "hphp.y" +#line 2701 "hphp.y" { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;} break; case 806: /* Line 1455 of yacc.c */ -#line 2691 "hphp.y" +#line 2704 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} break; case 807: /* Line 1455 of yacc.c */ -#line 2693 "hphp.y" +#line 2706 "hphp.y" { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} break; case 808: /* Line 1455 of yacc.c */ -#line 2696 "hphp.y" +#line 2709 "hphp.y" { _p->onScalar((yyval),T_LNUMBER,(yyvsp[(1) - (1)]));;} break; case 809: /* Line 1455 of yacc.c */ -#line 2697 "hphp.y" +#line 2710 "hphp.y" { _p->onScalar((yyval),T_DNUMBER,(yyvsp[(1) - (1)]));;} break; case 810: /* Line 1455 of yacc.c */ -#line 2698 "hphp.y" +#line 2711 "hphp.y" { _p->onScalar((yyval),T_ONUMBER,(yyvsp[(1) - (1)]));;} break; case 811: /* Line 1455 of yacc.c */ -#line 2699 "hphp.y" +#line 2712 "hphp.y" { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;} break; case 812: /* Line 1455 of yacc.c */ -#line 2703 "hphp.y" +#line 2716 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING,(yyvsp[(1) - (1)]));;} break; @@ -12843,7 +12856,7 @@ yyreduce: case 813: /* Line 1455 of yacc.c */ -#line 2706 "hphp.y" +#line 2719 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (3)]) + (yyvsp[(3) - (3)]));;} @@ -12852,196 +12865,196 @@ yyreduce: case 815: /* Line 1455 of yacc.c */ -#line 2713 "hphp.y" +#line 2726 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 816: /* Line 1455 of yacc.c */ -#line 2714 "hphp.y" +#line 2727 "hphp.y" { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;} break; case 817: /* Line 1455 of yacc.c */ -#line 2715 "hphp.y" +#line 2728 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 818: /* Line 1455 of yacc.c */ -#line 2716 "hphp.y" +#line 2729 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 819: /* Line 1455 of yacc.c */ -#line 2718 "hphp.y" +#line 2731 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;} break; case 820: /* Line 1455 of yacc.c */ -#line 2719 "hphp.y" +#line 2732 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 821: /* Line 1455 of yacc.c */ -#line 2721 "hphp.y" +#line 2734 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 822: /* Line 1455 of yacc.c */ -#line 2722 "hphp.y" +#line 2735 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 823: /* Line 1455 of yacc.c */ -#line 2723 "hphp.y" +#line 2736 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 824: /* Line 1455 of yacc.c */ -#line 2724 "hphp.y" +#line 2737 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 825: /* Line 1455 of yacc.c */ -#line 2729 "hphp.y" +#line 2742 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 826: /* Line 1455 of yacc.c */ -#line 2730 "hphp.y" +#line 2743 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 827: /* Line 1455 of yacc.c */ -#line 2735 "hphp.y" +#line 2748 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 828: /* Line 1455 of yacc.c */ -#line 2736 "hphp.y" +#line 2749 "hphp.y" { (yyval).reset();;} break; case 829: /* Line 1455 of yacc.c */ -#line 2741 "hphp.y" +#line 2754 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 830: /* Line 1455 of yacc.c */ -#line 2743 "hphp.y" +#line 2756 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 831: /* Line 1455 of yacc.c */ -#line 2745 "hphp.y" +#line 2758 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 832: /* Line 1455 of yacc.c */ -#line 2746 "hphp.y" +#line 2759 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 833: /* Line 1455 of yacc.c */ -#line 2750 "hphp.y" +#line 2763 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 834: /* Line 1455 of yacc.c */ -#line 2751 "hphp.y" +#line 2764 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 835: /* Line 1455 of yacc.c */ -#line 2756 "hphp.y" +#line 2769 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 836: /* Line 1455 of yacc.c */ -#line 2757 "hphp.y" +#line 2770 "hphp.y" { (yyval).reset(); ;} break; case 837: /* Line 1455 of yacc.c */ -#line 2762 "hphp.y" +#line 2775 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} break; case 838: /* Line 1455 of yacc.c */ -#line 2765 "hphp.y" +#line 2778 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} break; case 839: /* Line 1455 of yacc.c */ -#line 2770 "hphp.y" +#line 2783 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 840: /* Line 1455 of yacc.c */ -#line 2771 "hphp.y" +#line 2784 "hphp.y" { (yyval).reset();;} break; case 841: /* Line 1455 of yacc.c */ -#line 2774 "hphp.y" +#line 2787 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 842: /* Line 1455 of yacc.c */ -#line 2775 "hphp.y" +#line 2788 "hphp.y" { Token t; t.reset(); _p->onArray((yyval),t,T_ARRAY);;} break; @@ -13049,175 +13062,175 @@ yyreduce: case 843: /* Line 1455 of yacc.c */ -#line 2782 "hphp.y" +#line 2795 "hphp.y" { _p->onUserAttribute((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;} break; case 844: /* Line 1455 of yacc.c */ -#line 2784 "hphp.y" +#line 2797 "hphp.y" { _p->onUserAttribute((yyval), 0,(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 845: /* Line 1455 of yacc.c */ -#line 2787 "hphp.y" +#line 2800 "hphp.y" { only_in_hh_syntax(_p);;} break; case 846: /* Line 1455 of yacc.c */ -#line 2789 "hphp.y" +#line 2802 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 847: /* Line 1455 of yacc.c */ -#line 2792 "hphp.y" +#line 2805 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 848: /* Line 1455 of yacc.c */ -#line 2795 "hphp.y" +#line 2808 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 849: /* Line 1455 of yacc.c */ -#line 2796 "hphp.y" +#line 2809 "hphp.y" { (yyval).reset();;} break; case 850: /* Line 1455 of yacc.c */ -#line 2800 "hphp.y" +#line 2813 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;} break; case 851: /* Line 1455 of yacc.c */ -#line 2801 "hphp.y" +#line 2814 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 1;;} break; case 852: /* Line 1455 of yacc.c */ -#line 2805 "hphp.y" +#line 2818 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropNormal;;} break; case 853: /* Line 1455 of yacc.c */ -#line 2806 "hphp.y" +#line 2819 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropXhpAttr;;} break; case 854: /* Line 1455 of yacc.c */ -#line 2807 "hphp.y" +#line 2820 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); (yyval) = HPHP::ObjPropNormal;;} break; case 855: /* Line 1455 of yacc.c */ -#line 2811 "hphp.y" +#line 2824 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 856: /* Line 1455 of yacc.c */ -#line 2813 "hphp.y" +#line 2826 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropNormal;;} break; case 857: /* Line 1455 of yacc.c */ -#line 2821 "hphp.y" +#line 2834 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 858: /* Line 1455 of yacc.c */ -#line 2822 "hphp.y" +#line 2835 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 859: /* Line 1455 of yacc.c */ -#line 2826 "hphp.y" +#line 2839 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 860: /* Line 1455 of yacc.c */ -#line 2828 "hphp.y" +#line 2841 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 861: /* Line 1455 of yacc.c */ -#line 2836 "hphp.y" +#line 2849 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 862: /* Line 1455 of yacc.c */ -#line 2837 "hphp.y" +#line 2850 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 863: /* Line 1455 of yacc.c */ -#line 2841 "hphp.y" +#line 2854 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 864: /* Line 1455 of yacc.c */ -#line 2843 "hphp.y" +#line 2856 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;} break; case 865: /* Line 1455 of yacc.c */ -#line 2848 "hphp.y" +#line 2861 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 866: /* Line 1455 of yacc.c */ -#line 2850 "hphp.y" +#line 2863 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;} break; case 867: /* Line 1455 of yacc.c */ -#line 2856 "hphp.y" +#line 2869 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13232,7 +13245,7 @@ yyreduce: case 868: /* Line 1455 of yacc.c */ -#line 2867 "hphp.y" +#line 2880 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13247,7 +13260,7 @@ yyreduce: case 869: /* Line 1455 of yacc.c */ -#line 2882 "hphp.y" +#line 2895 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13262,7 +13275,7 @@ yyreduce: case 870: /* Line 1455 of yacc.c */ -#line 2894 "hphp.y" +#line 2907 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13277,49 +13290,49 @@ yyreduce: case 871: /* Line 1455 of yacc.c */ -#line 2906 "hphp.y" +#line 2919 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 872: /* Line 1455 of yacc.c */ -#line 2907 "hphp.y" +#line 2920 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 873: /* Line 1455 of yacc.c */ -#line 2908 "hphp.y" +#line 2921 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 874: /* Line 1455 of yacc.c */ -#line 2909 "hphp.y" +#line 2922 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 875: /* Line 1455 of yacc.c */ -#line 2910 "hphp.y" +#line 2923 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 876: /* Line 1455 of yacc.c */ -#line 2911 "hphp.y" +#line 2924 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 877: /* Line 1455 of yacc.c */ -#line 2913 "hphp.y" +#line 2926 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13334,63 +13347,63 @@ yyreduce: case 878: /* Line 1455 of yacc.c */ -#line 2930 "hphp.y" +#line 2943 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 879: /* Line 1455 of yacc.c */ -#line 2932 "hphp.y" +#line 2945 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 880: /* Line 1455 of yacc.c */ -#line 2934 "hphp.y" +#line 2947 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 881: /* Line 1455 of yacc.c */ -#line 2935 "hphp.y" +#line 2948 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 882: /* Line 1455 of yacc.c */ -#line 2939 "hphp.y" +#line 2952 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 883: /* Line 1455 of yacc.c */ -#line 2940 "hphp.y" +#line 2953 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 884: /* Line 1455 of yacc.c */ -#line 2941 "hphp.y" +#line 2954 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 885: /* Line 1455 of yacc.c */ -#line 2942 "hphp.y" +#line 2955 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 886: /* Line 1455 of yacc.c */ -#line 2950 "hphp.y" +#line 2963 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13405,252 +13418,252 @@ yyreduce: case 887: /* Line 1455 of yacc.c */ -#line 2959 "hphp.y" +#line 2972 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 888: /* Line 1455 of yacc.c */ -#line 2961 "hphp.y" +#line 2974 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 889: /* Line 1455 of yacc.c */ -#line 2962 "hphp.y" +#line 2975 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 890: /* Line 1455 of yacc.c */ -#line 2971 "hphp.y" +#line 2984 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 891: /* Line 1455 of yacc.c */ -#line 2972 "hphp.y" +#line 2985 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 892: /* Line 1455 of yacc.c */ -#line 2973 "hphp.y" +#line 2986 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 893: /* Line 1455 of yacc.c */ -#line 2974 "hphp.y" +#line 2987 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 894: /* Line 1455 of yacc.c */ -#line 2975 "hphp.y" +#line 2988 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 895: /* Line 1455 of yacc.c */ -#line 2976 "hphp.y" +#line 2989 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 896: /* Line 1455 of yacc.c */ -#line 2977 "hphp.y" +#line 2990 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 897: /* Line 1455 of yacc.c */ -#line 2979 "hphp.y" +#line 2992 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 898: /* Line 1455 of yacc.c */ -#line 2981 "hphp.y" +#line 2994 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 899: /* Line 1455 of yacc.c */ -#line 2985 "hphp.y" +#line 2998 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 900: /* Line 1455 of yacc.c */ -#line 2989 "hphp.y" +#line 3002 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 901: /* Line 1455 of yacc.c */ -#line 2990 "hphp.y" +#line 3003 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 902: /* Line 1455 of yacc.c */ -#line 2996 "hphp.y" +#line 3009 "hphp.y" { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (7)]),(yyvsp[(2) - (7)]).num(),(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]));;} break; case 903: /* Line 1455 of yacc.c */ -#line 3000 "hphp.y" +#line 3013 "hphp.y" { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (9)]),(yyvsp[(4) - (9)]).num(),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]));;} break; case 904: /* Line 1455 of yacc.c */ -#line 3007 "hphp.y" +#line 3020 "hphp.y" { _p->onCall((yyval),0,(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]),&(yyvsp[(1) - (7)]));;} break; case 905: /* Line 1455 of yacc.c */ -#line 3016 "hphp.y" +#line 3029 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]),&(yyvsp[(1) - (6)]));;} break; case 906: /* Line 1455 of yacc.c */ -#line 3020 "hphp.y" +#line 3033 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));;} break; case 907: /* Line 1455 of yacc.c */ -#line 3024 "hphp.y" +#line 3037 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 908: /* Line 1455 of yacc.c */ -#line 3027 "hphp.y" +#line 3040 "hphp.y" { _p->onIndirectRef((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 909: /* Line 1455 of yacc.c */ -#line 3033 "hphp.y" +#line 3046 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 910: /* Line 1455 of yacc.c */ -#line 3034 "hphp.y" +#line 3047 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 911: /* Line 1455 of yacc.c */ -#line 3035 "hphp.y" +#line 3048 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 912: /* Line 1455 of yacc.c */ -#line 3039 "hphp.y" +#line 3052 "hphp.y" { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} break; case 913: /* Line 1455 of yacc.c */ -#line 3040 "hphp.y" +#line 3053 "hphp.y" { _p->onPipeVariable((yyval));;} break; case 914: /* Line 1455 of yacc.c */ -#line 3041 "hphp.y" +#line 3054 "hphp.y" { _p->onDynamicVariable((yyval), (yyvsp[(3) - (4)]), 0);;} break; case 915: /* Line 1455 of yacc.c */ -#line 3048 "hphp.y" +#line 3061 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 916: /* Line 1455 of yacc.c */ -#line 3049 "hphp.y" +#line 3062 "hphp.y" { (yyval).reset();;} break; case 917: /* Line 1455 of yacc.c */ -#line 3054 "hphp.y" +#line 3067 "hphp.y" { (yyval) = 1;;} break; case 918: /* Line 1455 of yacc.c */ -#line 3055 "hphp.y" +#line 3068 "hphp.y" { (yyval)++;;} break; case 919: /* Line 1455 of yacc.c */ -#line 3060 "hphp.y" +#line 3073 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 920: /* Line 1455 of yacc.c */ -#line 3061 "hphp.y" +#line 3074 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 921: /* Line 1455 of yacc.c */ -#line 3062 "hphp.y" +#line 3075 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 922: /* Line 1455 of yacc.c */ -#line 3065 "hphp.y" +#line 3078 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13665,35 +13678,35 @@ yyreduce: case 923: /* Line 1455 of yacc.c */ -#line 3076 "hphp.y" +#line 3089 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 924: /* Line 1455 of yacc.c */ -#line 3077 "hphp.y" +#line 3090 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 926: /* Line 1455 of yacc.c */ -#line 3081 "hphp.y" +#line 3094 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 927: /* Line 1455 of yacc.c */ -#line 3082 "hphp.y" +#line 3095 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 928: /* Line 1455 of yacc.c */ -#line 3085 "hphp.y" +#line 3098 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13708,231 +13721,231 @@ yyreduce: case 929: /* Line 1455 of yacc.c */ -#line 3094 "hphp.y" +#line 3107 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 930: /* Line 1455 of yacc.c */ -#line 3098 "hphp.y" +#line 3111 "hphp.y" { _p->onAListVar((yyval),&(yyvsp[(1) - (2)]),NULL);;} break; case 931: /* Line 1455 of yacc.c */ -#line 3099 "hphp.y" +#line 3112 "hphp.y" { _p->onAListVar((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} break; case 932: /* Line 1455 of yacc.c */ -#line 3101 "hphp.y" +#line 3114 "hphp.y" { _p->onAListSub((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]));;} break; case 933: /* Line 1455 of yacc.c */ -#line 3102 "hphp.y" +#line 3115 "hphp.y" { _p->onAListVar((yyval),NULL,NULL);;} break; case 934: /* Line 1455 of yacc.c */ -#line 3103 "hphp.y" +#line 3116 "hphp.y" { _p->onAListVar((yyval),NULL,&(yyvsp[(1) - (1)]));;} break; case 935: /* Line 1455 of yacc.c */ -#line 3104 "hphp.y" +#line 3117 "hphp.y" { _p->onAListSub((yyval),NULL,(yyvsp[(3) - (4)]));;} break; case 936: /* Line 1455 of yacc.c */ -#line 3109 "hphp.y" +#line 3122 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 937: /* Line 1455 of yacc.c */ -#line 3110 "hphp.y" +#line 3123 "hphp.y" { (yyval).reset();;} break; case 938: /* Line 1455 of yacc.c */ -#line 3114 "hphp.y" +#line 3127 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 939: /* Line 1455 of yacc.c */ -#line 3115 "hphp.y" +#line 3128 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 940: /* Line 1455 of yacc.c */ -#line 3116 "hphp.y" +#line 3129 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 941: /* Line 1455 of yacc.c */ -#line 3117 "hphp.y" +#line 3130 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 942: /* Line 1455 of yacc.c */ -#line 3120 "hphp.y" +#line 3133 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;} break; case 943: /* Line 1455 of yacc.c */ -#line 3122 "hphp.y" +#line 3135 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]), 0,(yyvsp[(4) - (4)]),1);;} break; case 944: /* Line 1455 of yacc.c */ -#line 3123 "hphp.y" +#line 3136 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} break; case 945: /* Line 1455 of yacc.c */ -#line 3124 "hphp.y" +#line 3137 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(2) - (2)]),1);;} break; case 946: /* Line 1455 of yacc.c */ -#line 3129 "hphp.y" +#line 3142 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 947: /* Line 1455 of yacc.c */ -#line 3130 "hphp.y" +#line 3143 "hphp.y" { _p->onEmptyCollection((yyval));;} break; case 948: /* Line 1455 of yacc.c */ -#line 3134 "hphp.y" +#line 3147 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 949: /* Line 1455 of yacc.c */ -#line 3135 "hphp.y" +#line 3148 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} break; case 950: /* Line 1455 of yacc.c */ -#line 3136 "hphp.y" +#line 3149 "hphp.y" { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 951: /* Line 1455 of yacc.c */ -#line 3137 "hphp.y" +#line 3150 "hphp.y" { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} break; case 952: /* Line 1455 of yacc.c */ -#line 3142 "hphp.y" +#line 3155 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 953: /* Line 1455 of yacc.c */ -#line 3143 "hphp.y" +#line 3156 "hphp.y" { _p->onEmptyCollection((yyval));;} break; case 954: /* Line 1455 of yacc.c */ -#line 3148 "hphp.y" +#line 3161 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 955: /* Line 1455 of yacc.c */ -#line 3150 "hphp.y" +#line 3163 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} break; case 956: /* Line 1455 of yacc.c */ -#line 3152 "hphp.y" +#line 3165 "hphp.y" { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 957: /* Line 1455 of yacc.c */ -#line 3153 "hphp.y" +#line 3166 "hphp.y" { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} break; case 958: /* Line 1455 of yacc.c */ -#line 3157 "hphp.y" +#line 3170 "hphp.y" { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), -1);;} break; case 959: /* Line 1455 of yacc.c */ -#line 3159 "hphp.y" +#line 3172 "hphp.y" { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), 0);;} break; case 960: /* Line 1455 of yacc.c */ -#line 3160 "hphp.y" +#line 3173 "hphp.y" { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), -1);;} break; case 961: /* Line 1455 of yacc.c */ -#line 3162 "hphp.y" +#line 3175 "hphp.y" { _p->addEncap((yyval), NULL, (yyvsp[(1) - (2)]), 0); _p->addEncap((yyval), &(yyval), (yyvsp[(2) - (2)]), -1); ;} break; @@ -13940,21 +13953,21 @@ yyreduce: case 962: /* Line 1455 of yacc.c */ -#line 3167 "hphp.y" +#line 3180 "hphp.y" { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} break; case 963: /* Line 1455 of yacc.c */ -#line 3169 "hphp.y" +#line 3182 "hphp.y" { _p->encapRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 964: /* Line 1455 of yacc.c */ -#line 3171 "hphp.y" +#line 3184 "hphp.y" { _p->encapObjProp( (yyval), (yyvsp[(1) - (3)]), @@ -13969,154 +13982,154 @@ yyreduce: case 965: /* Line 1455 of yacc.c */ -#line 3181 "hphp.y" +#line 3194 "hphp.y" { _p->onDynamicVariable((yyval), (yyvsp[(2) - (3)]), 1);;} break; case 966: /* Line 1455 of yacc.c */ -#line 3183 "hphp.y" +#line 3196 "hphp.y" { _p->encapArray((yyval), (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));;} break; case 967: /* Line 1455 of yacc.c */ -#line 3184 "hphp.y" +#line 3197 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 968: /* Line 1455 of yacc.c */ -#line 3187 "hphp.y" +#line 3200 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_STRING;;} break; case 969: /* Line 1455 of yacc.c */ -#line 3188 "hphp.y" +#line 3201 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_NUM_STRING;;} break; case 970: /* Line 1455 of yacc.c */ -#line 3189 "hphp.y" +#line 3202 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_VARIABLE;;} break; case 971: /* Line 1455 of yacc.c */ -#line 3193 "hphp.y" +#line 3206 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),T_ISSET,1);;} break; case 972: /* Line 1455 of yacc.c */ -#line 3194 "hphp.y" +#line 3207 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),T_EMPTY,1);;} break; case 973: /* Line 1455 of yacc.c */ -#line 3195 "hphp.y" +#line 3208 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 974: /* Line 1455 of yacc.c */ -#line 3196 "hphp.y" +#line 3209 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 975: /* Line 1455 of yacc.c */ -#line 3197 "hphp.y" +#line 3210 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 976: /* Line 1455 of yacc.c */ -#line 3198 "hphp.y" +#line 3211 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 977: /* Line 1455 of yacc.c */ -#line 3199 "hphp.y" +#line 3212 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE,1);;} break; case 978: /* Line 1455 of yacc.c */ -#line 3200 "hphp.y" +#line 3213 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE_ONCE,1);;} break; case 979: /* Line 1455 of yacc.c */ -#line 3201 "hphp.y" +#line 3214 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),T_EVAL,1);;} break; case 980: /* Line 1455 of yacc.c */ -#line 3202 "hphp.y" +#line 3215 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE,1);;} break; case 981: /* Line 1455 of yacc.c */ -#line 3203 "hphp.y" +#line 3216 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE_ONCE,1);;} break; case 982: /* Line 1455 of yacc.c */ -#line 3207 "hphp.y" +#line 3220 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 983: /* Line 1455 of yacc.c */ -#line 3208 "hphp.y" +#line 3221 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 984: /* Line 1455 of yacc.c */ -#line 3213 "hphp.y" +#line 3226 "hphp.y" { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} break; case 985: /* Line 1455 of yacc.c */ -#line 3215 "hphp.y" +#line 3228 "hphp.y" { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} break; case 988: /* Line 1455 of yacc.c */ -#line 3229 "hphp.y" +#line 3242 "hphp.y" { (yyvsp[(2) - (5)]).setText(_p->nsClassDecl((yyvsp[(2) - (5)]).text())); _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); _p->popTypeScope(); ;} @@ -14125,7 +14138,7 @@ yyreduce: case 989: /* Line 1455 of yacc.c */ -#line 3234 "hphp.y" +#line 3247 "hphp.y" { (yyvsp[(3) - (6)]).setText(_p->nsClassDecl((yyvsp[(3) - (6)]).text())); _p->onTypedef((yyval), (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]), &(yyvsp[(1) - (6)])); _p->popTypeScope(); ;} @@ -14134,7 +14147,7 @@ yyreduce: case 990: /* Line 1455 of yacc.c */ -#line 3238 "hphp.y" +#line 3251 "hphp.y" { (yyvsp[(2) - (6)]).setText(_p->nsClassDecl((yyvsp[(2) - (6)]).text())); _p->onTypedef((yyval), (yyvsp[(2) - (6)]), (yyvsp[(5) - (6)])); _p->popTypeScope(); ;} @@ -14143,7 +14156,7 @@ yyreduce: case 991: /* Line 1455 of yacc.c */ -#line 3243 "hphp.y" +#line 3256 "hphp.y" { (yyvsp[(3) - (7)]).setText(_p->nsClassDecl((yyvsp[(3) - (7)]).text())); _p->onTypedef((yyval), (yyvsp[(3) - (7)]), (yyvsp[(6) - (7)]), &(yyvsp[(1) - (7)])); _p->popTypeScope(); ;} @@ -14152,56 +14165,56 @@ yyreduce: case 992: /* Line 1455 of yacc.c */ -#line 3249 "hphp.y" +#line 3262 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 993: /* Line 1455 of yacc.c */ -#line 3250 "hphp.y" +#line 3263 "hphp.y" { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 994: /* Line 1455 of yacc.c */ -#line 3254 "hphp.y" +#line 3267 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 995: /* Line 1455 of yacc.c */ -#line 3255 "hphp.y" +#line 3268 "hphp.y" { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 996: /* Line 1455 of yacc.c */ -#line 3261 "hphp.y" +#line 3274 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;} break; case 997: /* Line 1455 of yacc.c */ -#line 3265 "hphp.y" +#line 3278 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); ;} break; case 998: /* Line 1455 of yacc.c */ -#line 3271 "hphp.y" +#line 3284 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;} break; case 999: /* Line 1455 of yacc.c */ -#line 3275 "hphp.y" +#line 3288 "hphp.y" { Token t; _p->setTypeVars(t, (yyvsp[(1) - (4)])); _p->pushTypeScope(); (yyval) = t; ;} break; @@ -14209,21 +14222,21 @@ yyreduce: case 1000: /* Line 1455 of yacc.c */ -#line 3282 "hphp.y" +#line 3295 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); ;} break; case 1001: /* Line 1455 of yacc.c */ -#line 3283 "hphp.y" +#line 3296 "hphp.y" { (yyval).reset(); ;} break; case 1002: /* Line 1455 of yacc.c */ -#line 3287 "hphp.y" +#line 3300 "hphp.y" { Token t; t.reset(); _p->onTypeList((yyvsp[(1) - (1)]), t); (yyval) = (yyvsp[(1) - (1)]); ;} @@ -14232,7 +14245,7 @@ yyreduce: case 1003: /* Line 1455 of yacc.c */ -#line 3290 "hphp.y" +#line 3303 "hphp.y" { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); (yyval) = (yyvsp[(1) - (3)]); ;} break; @@ -14240,112 +14253,112 @@ yyreduce: case 1004: /* Line 1455 of yacc.c */ -#line 3296 "hphp.y" +#line 3309 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 1005: /* Line 1455 of yacc.c */ -#line 3301 "hphp.y" +#line 3314 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]); ;} break; case 1006: /* Line 1455 of yacc.c */ -#line 3302 "hphp.y" +#line 3315 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1007: /* Line 1455 of yacc.c */ -#line 3303 "hphp.y" +#line 3316 "hphp.y" { (yyval).reset(); ;} break; case 1008: /* Line 1455 of yacc.c */ -#line 3304 "hphp.y" +#line 3317 "hphp.y" { (yyval).reset(); ;} break; case 1009: /* Line 1455 of yacc.c */ -#line 3308 "hphp.y" +#line 3321 "hphp.y" { (yyval).reset(); ;} break; case 1010: /* Line 1455 of yacc.c */ -#line 3309 "hphp.y" +#line 3322 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1; ;} break; case 1013: /* Line 1455 of yacc.c */ -#line 3318 "hphp.y" +#line 3331 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 1016: /* Line 1455 of yacc.c */ -#line 3329 "hphp.y" +#line 3342 "hphp.y" { _p->addTypeVar((yyvsp[(4) - (4)]).text()); ;} break; case 1017: /* Line 1455 of yacc.c */ -#line 3331 "hphp.y" +#line 3344 "hphp.y" { _p->addTypeVar((yyvsp[(2) - (2)]).text()); ;} break; case 1018: /* Line 1455 of yacc.c */ -#line 3335 "hphp.y" +#line 3348 "hphp.y" { _p->addTypeVar((yyvsp[(4) - (5)]).text()); ;} break; case 1019: /* Line 1455 of yacc.c */ -#line 3338 "hphp.y" +#line 3351 "hphp.y" { _p->addTypeVar((yyvsp[(2) - (3)]).text()); ;} break; case 1020: /* Line 1455 of yacc.c */ -#line 3342 "hphp.y" +#line 3355 "hphp.y" {;} break; case 1021: /* Line 1455 of yacc.c */ -#line 3343 "hphp.y" +#line 3356 "hphp.y" {;} break; case 1022: /* Line 1455 of yacc.c */ -#line 3344 "hphp.y" +#line 3357 "hphp.y" {;} break; case 1023: /* Line 1455 of yacc.c */ -#line 3350 "hphp.y" +#line 3363 "hphp.y" { validate_shape_keyname((yyvsp[(1) - (3)]), _p); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;} break; @@ -14353,7 +14366,7 @@ yyreduce: case 1024: /* Line 1455 of yacc.c */ -#line 3355 "hphp.y" +#line 3368 "hphp.y" { /* should not reach here as * optional shape fields are not @@ -14366,35 +14379,35 @@ yyreduce: case 1025: /* Line 1455 of yacc.c */ -#line 3366 "hphp.y" +#line 3379 "hphp.y" { _p->onClsCnsShapeField((yyval), (yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(5) - (5)])); ;} break; case 1026: /* Line 1455 of yacc.c */ -#line 3371 "hphp.y" +#line 3384 "hphp.y" { _p->onTypeList((yyval), (yyvsp[(3) - (3)])); ;} break; case 1027: /* Line 1455 of yacc.c */ -#line 3372 "hphp.y" +#line 3385 "hphp.y" { ;} break; case 1028: /* Line 1455 of yacc.c */ -#line 3377 "hphp.y" +#line 3390 "hphp.y" { _p->onShape((yyval), (yyvsp[(1) - (2)])); ;} break; case 1029: /* Line 1455 of yacc.c */ -#line 3378 "hphp.y" +#line 3391 "hphp.y" { Token t; t.reset(); _p->onShape((yyval), t); ;} break; @@ -14402,7 +14415,7 @@ yyreduce: case 1030: /* Line 1455 of yacc.c */ -#line 3384 "hphp.y" +#line 3397 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); (yyval).setText("array"); ;} break; @@ -14410,14 +14423,14 @@ yyreduce: case 1031: /* Line 1455 of yacc.c */ -#line 3389 "hphp.y" +#line 3402 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1032: /* Line 1455 of yacc.c */ -#line 3394 "hphp.y" +#line 3407 "hphp.y" { Token t; t.reset(); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), t); _p->onTypeList((yyval), (yyvsp[(3) - (3)])); ;} @@ -14426,28 +14439,28 @@ yyreduce: case 1033: /* Line 1455 of yacc.c */ -#line 3398 "hphp.y" +#line 3411 "hphp.y" { _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;} break; case 1034: /* Line 1455 of yacc.c */ -#line 3403 "hphp.y" +#line 3416 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 1035: /* Line 1455 of yacc.c */ -#line 3405 "hphp.y" +#line 3418 "hphp.y" { _p->onTypeList((yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); (yyval) = (yyvsp[(2) - (5)]);;} break; case 1036: /* Line 1455 of yacc.c */ -#line 3411 "hphp.y" +#line 3424 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?'); (yyval) = (yyvsp[(2) - (2)]); ;} @@ -14456,7 +14469,7 @@ yyreduce: case 1037: /* Line 1455 of yacc.c */ -#line 3414 "hphp.y" +#line 3427 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@'); (yyval) = (yyvsp[(2) - (2)]); ;} @@ -14465,14 +14478,14 @@ yyreduce: case 1038: /* Line 1455 of yacc.c */ -#line 3417 "hphp.y" +#line 3430 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1039: /* Line 1455 of yacc.c */ -#line 3418 "hphp.y" +#line 3431 "hphp.y" { Token t; t.reset(); (yyvsp[(1) - (1)]).setText("array"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;} @@ -14481,7 +14494,7 @@ yyreduce: case 1040: /* Line 1455 of yacc.c */ -#line 3421 "hphp.y" +#line 3434 "hphp.y" { Token t; t.reset(); (yyvsp[(1) - (1)]).setText("callable"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;} @@ -14490,14 +14503,14 @@ yyreduce: case 1041: /* Line 1455 of yacc.c */ -#line 3424 "hphp.y" +#line 3437 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1042: /* Line 1455 of yacc.c */ -#line 3427 "hphp.y" +#line 3440 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); _p->onTypeSpecialization((yyval), 'a'); ;} @@ -14506,7 +14519,7 @@ yyreduce: case 1043: /* Line 1455 of yacc.c */ -#line 3430 "hphp.y" +#line 3443 "hphp.y" { (yyvsp[(1) - (2)]).setText("array"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;} break; @@ -14514,7 +14527,7 @@ yyreduce: case 1044: /* Line 1455 of yacc.c */ -#line 3432 "hphp.y" +#line 3445 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); Token t; t.reset(); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); @@ -14524,7 +14537,7 @@ yyreduce: case 1045: /* Line 1455 of yacc.c */ -#line 3438 "hphp.y" +#line 3451 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeList((yyvsp[(7) - (8)]), (yyvsp[(4) - (8)])); _p->onTypeAnnotation((yyval), (yyvsp[(2) - (8)]), (yyvsp[(7) - (8)])); @@ -14534,7 +14547,7 @@ yyreduce: case 1046: /* Line 1455 of yacc.c */ -#line 3444 "hphp.y" +#line 3457 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeList((yyvsp[(2) - (6)]), (yyvsp[(4) - (6)])); Token t; t.reset(); t.setText("array"); @@ -14545,21 +14558,21 @@ yyreduce: case 1047: /* Line 1455 of yacc.c */ -#line 3452 "hphp.y" +#line 3465 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1048: /* Line 1455 of yacc.c */ -#line 3453 "hphp.y" +#line 3466 "hphp.y" { (yyval).reset(); ;} break; /* Line 1455 of yacc.c */ -#line 14561 "hphp.5.tab.cpp" +#line 14574 "hphp.5.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -14779,7 +14792,7 @@ yyreturn: /* Line 1675 of yacc.c */ -#line 3456 "hphp.y" +#line 3469 "hphp.y" /* !PHP5_ONLY*/ bool Parser::parseImpl5() { diff --git a/hphp/parser/hphp.7.tab.cpp b/hphp/parser/hphp.7.tab.cpp index 97ecb7d6b9e..5d4c40b286f 100644 --- a/hphp/parser/hphp.7.tab.cpp +++ b/hphp/parser/hphp.7.tab.cpp @@ -79,6 +79,15 @@ /* Line 189 of yacc.c */ #line 1 "hphp.y" + +/* By default this grammar is set up to be used by HPHP's compile parser. + * However, it can be used to make parsers for different purposes by + * making a Parser implementation with the same interface as + * HPHP::Compiler::Parser in a header file specified by + * PARSER_DEFINITIONS_HEADER, and specifying an alternate namespace with + * HPHP_PARSER_NS. + */ + // macros for bison #define YYSTYPE HPHP::HPHP_PARSER_NS::Token #define YYSTYPE_IS_TRIVIAL false @@ -88,7 +97,11 @@ #define YYINITDEPTH 500 #define YYLEX_PARAM _p +#ifdef PARSER_DEFINITIONS_HEADER +#include PARSER_DEFINITIONS_HEADER +#else #include "hphp/compiler/parser/parser.h" +#endif #include #include @@ -650,7 +663,7 @@ static int yylex(YYSTYPE* token, HPHP::Location* loc, Parser* _p) { /* Line 189 of yacc.c */ -#line 653 "hphp.7.tab.cpp" +#line 666 "hphp.7.tab.cpp" /* Enabling traces. */ #ifndef YYDEBUG @@ -878,7 +891,7 @@ typedef struct YYLTYPE /* Line 264 of yacc.c */ -#line 881 "hphp.7.tab.cpp" +#line 894 "hphp.7.tab.cpp" #ifdef short # undef short @@ -1627,111 +1640,111 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 735, 735, 735, 744, 746, 749, 750, 751, 752, - 753, 754, 755, 758, 760, 760, 762, 762, 764, 766, - 769, 772, 776, 780, 784, 789, 790, 791, 792, 793, - 794, 795, 796, 797, 798, 802, 803, 804, 805, 806, - 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, - 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, - 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, - 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, - 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, - 857, 858, 859, 860, 861, 862, 863, 867, 871, 872, - 876, 877, 882, 884, 889, 894, 895, 896, 898, 903, - 905, 910, 915, 917, 919, 924, 925, 929, 930, 932, - 936, 943, 950, 954, 960, 962, 965, 966, 967, 968, - 971, 972, 976, 981, 981, 987, 987, 994, 993, 999, - 999, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, - 1013, 1014, 1015, 1016, 1017, 1018, 1022, 1020, 1029, 1027, - 1034, 1044, 1038, 1048, 1046, 1050, 1051, 1055, 1056, 1057, - 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1074, - 1074, 1079, 1085, 1089, 1089, 1097, 1098, 1102, 1103, 1107, - 1113, 1111, 1126, 1123, 1139, 1136, 1153, 1152, 1161, 1159, - 1171, 1170, 1189, 1187, 1206, 1205, 1214, 1212, 1223, 1223, - 1230, 1229, 1241, 1239, 1252, 1253, 1257, 1260, 1263, 1264, - 1265, 1268, 1269, 1272, 1274, 1277, 1278, 1281, 1282, 1285, - 1286, 1290, 1291, 1296, 1297, 1300, 1301, 1302, 1306, 1307, - 1311, 1312, 1316, 1317, 1321, 1322, 1327, 1328, 1334, 1335, - 1336, 1337, 1340, 1343, 1345, 1348, 1349, 1353, 1355, 1358, - 1361, 1364, 1365, 1368, 1369, 1373, 1379, 1385, 1392, 1394, - 1399, 1404, 1410, 1414, 1418, 1422, 1427, 1432, 1437, 1442, - 1448, 1457, 1462, 1467, 1473, 1475, 1479, 1483, 1488, 1492, - 1495, 1498, 1502, 1506, 1510, 1514, 1519, 1527, 1529, 1532, - 1533, 1534, 1535, 1537, 1539, 1544, 1545, 1548, 1549, 1550, - 1554, 1555, 1557, 1558, 1562, 1564, 1567, 1571, 1577, 1579, - 1582, 1582, 1586, 1585, 1589, 1591, 1594, 1597, 1595, 1611, - 1607, 1621, 1623, 1625, 1627, 1629, 1631, 1633, 1637, 1638, - 1639, 1642, 1648, 1652, 1658, 1661, 1666, 1668, 1673, 1678, - 1682, 1683, 1687, 1688, 1690, 1692, 1698, 1699, 1701, 1705, - 1706, 1711, 1715, 1716, 1720, 1721, 1725, 1727, 1733, 1738, - 1739, 1741, 1745, 1746, 1747, 1748, 1752, 1753, 1754, 1755, - 1756, 1757, 1759, 1764, 1767, 1768, 1772, 1773, 1777, 1778, - 1781, 1782, 1785, 1786, 1789, 1790, 1794, 1795, 1796, 1797, - 1798, 1799, 1800, 1804, 1805, 1808, 1809, 1810, 1813, 1815, - 1817, 1818, 1821, 1823, 1827, 1829, 1833, 1837, 1841, 1846, - 1847, 1849, 1850, 1851, 1852, 1855, 1859, 1860, 1864, 1865, - 1869, 1870, 1871, 1872, 1876, 1880, 1885, 1889, 1893, 1897, - 1901, 1906, 1907, 1908, 1909, 1910, 1914, 1916, 1917, 1918, - 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, - 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, - 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, - 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, - 1961, 1962, 1963, 1964, 1966, 1967, 1969, 1970, 1972, 1973, - 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, - 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, - 1994, 1998, 2002, 2007, 2006, 2021, 2019, 2037, 2036, 2055, - 2054, 2073, 2072, 2090, 2090, 2105, 2105, 2123, 2124, 2125, - 2130, 2132, 2136, 2140, 2146, 2150, 2156, 2158, 2162, 2164, - 2168, 2172, 2173, 2177, 2179, 2183, 2185, 2186, 2189, 2193, - 2195, 2199, 2202, 2207, 2209, 2213, 2216, 2221, 2225, 2229, - 2233, 2237, 2241, 2245, 2249, 2253, 2257, 2259, 2263, 2265, - 2269, 2271, 2275, 2282, 2289, 2291, 2296, 2297, 2298, 2299, - 2300, 2301, 2302, 2304, 2305, 2309, 2310, 2311, 2312, 2316, - 2322, 2331, 2344, 2345, 2348, 2351, 2354, 2355, 2358, 2362, - 2365, 2368, 2375, 2376, 2380, 2381, 2383, 2388, 2389, 2390, - 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, - 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, - 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, - 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, - 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, - 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, - 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, - 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2472, 2477, - 2478, 2482, 2483, 2484, 2485, 2487, 2491, 2492, 2503, 2504, - 2506, 2518, 2519, 2520, 2524, 2525, 2526, 2530, 2531, 2532, - 2535, 2537, 2541, 2542, 2543, 2544, 2546, 2547, 2548, 2549, - 2550, 2551, 2552, 2553, 2554, 2555, 2558, 2563, 2564, 2565, - 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2578, - 2580, 2582, 2584, 2586, 2587, 2588, 2589, 2590, 2591, 2592, - 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, - 2604, 2606, 2608, 2610, 2611, 2614, 2615, 2619, 2623, 2625, - 2629, 2630, 2634, 2637, 2640, 2643, 2649, 2650, 2651, 2652, - 2653, 2654, 2655, 2660, 2662, 2666, 2667, 2670, 2671, 2675, - 2678, 2680, 2682, 2686, 2687, 2688, 2689, 2692, 2696, 2697, - 2698, 2699, 2703, 2705, 2712, 2713, 2714, 2715, 2716, 2717, - 2719, 2720, 2722, 2723, 2724, 2728, 2730, 2734, 2736, 2739, - 2742, 2744, 2746, 2749, 2751, 2755, 2757, 2760, 2763, 2769, - 2771, 2774, 2775, 2780, 2783, 2787, 2787, 2792, 2795, 2796, - 2800, 2801, 2805, 2806, 2807, 2811, 2816, 2821, 2822, 2826, - 2831, 2836, 2837, 2841, 2842, 2847, 2849, 2854, 2865, 2879, - 2891, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2922, 2931, - 2933, 2935, 2939, 2940, 2941, 2942, 2943, 2959, 2960, 2962, - 2964, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2980, - 2985, 2989, 2990, 2994, 2997, 3004, 3008, 3017, 3024, 3032, - 3034, 3035, 3039, 3040, 3041, 3043, 3048, 3049, 3060, 3061, - 3062, 3063, 3074, 3077, 3080, 3081, 3082, 3083, 3094, 3098, - 3099, 3100, 3102, 3103, 3104, 3108, 3110, 3113, 3115, 3116, - 3117, 3118, 3121, 3123, 3124, 3128, 3130, 3133, 3135, 3136, - 3137, 3141, 3143, 3146, 3149, 3151, 3153, 3157, 3158, 3160, - 3161, 3167, 3168, 3170, 3180, 3182, 3184, 3187, 3188, 3189, - 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, - 3203, 3207, 3208, 3212, 3214, 3222, 3224, 3228, 3232, 3237, - 3241, 3249, 3250, 3254, 3255, 3261, 3262, 3271, 3272, 3280, - 3283, 3287, 3290, 3295, 3300, 3302, 3303, 3304, 3308, 3309, - 3313, 3314, 3317, 3322, 3323, 3327, 3330, 3332, 3336, 3342, - 3343, 3344, 3348, 3352, 3362, 3370, 3372, 3376, 3378, 3383, - 3389, 3392, 3397, 3402, 3404, 3411, 3414, 3417, 3418, 3421, - 3424, 3425, 3430, 3432, 3436, 3442, 3452, 3453 + 0, 748, 748, 748, 757, 759, 762, 763, 764, 765, + 766, 767, 768, 771, 773, 773, 775, 775, 777, 779, + 782, 785, 789, 793, 797, 802, 803, 804, 805, 806, + 807, 808, 809, 810, 811, 815, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, + 870, 871, 872, 873, 874, 875, 876, 880, 884, 885, + 889, 890, 895, 897, 902, 907, 908, 909, 911, 916, + 918, 923, 928, 930, 932, 937, 938, 942, 943, 945, + 949, 956, 963, 967, 973, 975, 978, 979, 980, 981, + 984, 985, 989, 994, 994, 1000, 1000, 1007, 1006, 1012, + 1012, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1035, 1033, 1042, 1040, + 1047, 1057, 1051, 1061, 1059, 1063, 1064, 1068, 1069, 1070, + 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1087, + 1087, 1092, 1098, 1102, 1102, 1110, 1111, 1115, 1116, 1120, + 1126, 1124, 1139, 1136, 1152, 1149, 1166, 1165, 1174, 1172, + 1184, 1183, 1202, 1200, 1219, 1218, 1227, 1225, 1236, 1236, + 1243, 1242, 1254, 1252, 1265, 1266, 1270, 1273, 1276, 1277, + 1278, 1281, 1282, 1285, 1287, 1290, 1291, 1294, 1295, 1298, + 1299, 1303, 1304, 1309, 1310, 1313, 1314, 1315, 1319, 1320, + 1324, 1325, 1329, 1330, 1334, 1335, 1340, 1341, 1347, 1348, + 1349, 1350, 1353, 1356, 1358, 1361, 1362, 1366, 1368, 1371, + 1374, 1377, 1378, 1381, 1382, 1386, 1392, 1398, 1405, 1407, + 1412, 1417, 1423, 1427, 1431, 1435, 1440, 1445, 1450, 1455, + 1461, 1470, 1475, 1480, 1486, 1488, 1492, 1496, 1501, 1505, + 1508, 1511, 1515, 1519, 1523, 1527, 1532, 1540, 1542, 1545, + 1546, 1547, 1548, 1550, 1552, 1557, 1558, 1561, 1562, 1563, + 1567, 1568, 1570, 1571, 1575, 1577, 1580, 1584, 1590, 1592, + 1595, 1595, 1599, 1598, 1602, 1604, 1607, 1610, 1608, 1624, + 1620, 1634, 1636, 1638, 1640, 1642, 1644, 1646, 1650, 1651, + 1652, 1655, 1661, 1665, 1671, 1674, 1679, 1681, 1686, 1691, + 1695, 1696, 1700, 1701, 1703, 1705, 1711, 1712, 1714, 1718, + 1719, 1724, 1728, 1729, 1733, 1734, 1738, 1740, 1746, 1751, + 1752, 1754, 1758, 1759, 1760, 1761, 1765, 1766, 1767, 1768, + 1769, 1770, 1772, 1777, 1780, 1781, 1785, 1786, 1790, 1791, + 1794, 1795, 1798, 1799, 1802, 1803, 1807, 1808, 1809, 1810, + 1811, 1812, 1813, 1817, 1818, 1821, 1822, 1823, 1826, 1828, + 1830, 1831, 1834, 1836, 1840, 1842, 1846, 1850, 1854, 1859, + 1860, 1862, 1863, 1864, 1865, 1868, 1872, 1873, 1877, 1878, + 1882, 1883, 1884, 1885, 1889, 1893, 1898, 1902, 1906, 1910, + 1914, 1919, 1920, 1921, 1922, 1923, 1927, 1929, 1930, 1931, + 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, + 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, + 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, + 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, + 1974, 1975, 1976, 1977, 1979, 1980, 1982, 1983, 1985, 1986, + 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2011, 2015, 2020, 2019, 2034, 2032, 2050, 2049, 2068, + 2067, 2086, 2085, 2103, 2103, 2118, 2118, 2136, 2137, 2138, + 2143, 2145, 2149, 2153, 2159, 2163, 2169, 2171, 2175, 2177, + 2181, 2185, 2186, 2190, 2192, 2196, 2198, 2199, 2202, 2206, + 2208, 2212, 2215, 2220, 2222, 2226, 2229, 2234, 2238, 2242, + 2246, 2250, 2254, 2258, 2262, 2266, 2270, 2272, 2276, 2278, + 2282, 2284, 2288, 2295, 2302, 2304, 2309, 2310, 2311, 2312, + 2313, 2314, 2315, 2317, 2318, 2322, 2323, 2324, 2325, 2329, + 2335, 2344, 2357, 2358, 2361, 2364, 2367, 2368, 2371, 2375, + 2378, 2381, 2388, 2389, 2393, 2394, 2396, 2401, 2402, 2403, + 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, + 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, + 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, + 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, + 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, + 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, + 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, + 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2485, 2490, + 2491, 2495, 2496, 2497, 2498, 2500, 2504, 2505, 2516, 2517, + 2519, 2531, 2532, 2533, 2537, 2538, 2539, 2543, 2544, 2545, + 2548, 2550, 2554, 2555, 2556, 2557, 2559, 2560, 2561, 2562, + 2563, 2564, 2565, 2566, 2567, 2568, 2571, 2576, 2577, 2578, + 2580, 2581, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2591, + 2593, 2595, 2597, 2599, 2600, 2601, 2602, 2603, 2604, 2605, + 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, + 2617, 2619, 2621, 2623, 2624, 2627, 2628, 2632, 2636, 2638, + 2642, 2643, 2647, 2650, 2653, 2656, 2662, 2663, 2664, 2665, + 2666, 2667, 2668, 2673, 2675, 2679, 2680, 2683, 2684, 2688, + 2691, 2693, 2695, 2699, 2700, 2701, 2702, 2705, 2709, 2710, + 2711, 2712, 2716, 2718, 2725, 2726, 2727, 2728, 2729, 2730, + 2732, 2733, 2735, 2736, 2737, 2741, 2743, 2747, 2749, 2752, + 2755, 2757, 2759, 2762, 2764, 2768, 2770, 2773, 2776, 2782, + 2784, 2787, 2788, 2793, 2796, 2800, 2800, 2805, 2808, 2809, + 2813, 2814, 2818, 2819, 2820, 2824, 2829, 2834, 2835, 2839, + 2844, 2849, 2850, 2854, 2855, 2860, 2862, 2867, 2878, 2892, + 2904, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2935, 2944, + 2946, 2948, 2952, 2953, 2954, 2955, 2956, 2972, 2973, 2975, + 2977, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2993, + 2998, 3002, 3003, 3007, 3010, 3017, 3021, 3030, 3037, 3045, + 3047, 3048, 3052, 3053, 3054, 3056, 3061, 3062, 3073, 3074, + 3075, 3076, 3087, 3090, 3093, 3094, 3095, 3096, 3107, 3111, + 3112, 3113, 3115, 3116, 3117, 3121, 3123, 3126, 3128, 3129, + 3130, 3131, 3134, 3136, 3137, 3141, 3143, 3146, 3148, 3149, + 3150, 3154, 3156, 3159, 3162, 3164, 3166, 3170, 3171, 3173, + 3174, 3180, 3181, 3183, 3193, 3195, 3197, 3200, 3201, 3202, + 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, + 3216, 3220, 3221, 3225, 3227, 3235, 3237, 3241, 3245, 3250, + 3254, 3262, 3263, 3267, 3268, 3274, 3275, 3284, 3285, 3293, + 3296, 3300, 3303, 3308, 3313, 3315, 3316, 3317, 3321, 3322, + 3326, 3327, 3330, 3335, 3336, 3340, 3343, 3345, 3349, 3355, + 3356, 3357, 3361, 3365, 3375, 3383, 3385, 3389, 3391, 3396, + 3402, 3405, 3410, 3415, 3417, 3424, 3427, 3430, 3431, 3434, + 3437, 3438, 3443, 3445, 3449, 3455, 3465, 3466 }; #endif @@ -7274,7 +7287,7 @@ yyreduce: case 2: /* Line 1455 of yacc.c */ -#line 735 "hphp.y" +#line 748 "hphp.y" { _p->onNewLabelScope(true); _p->initParseTree();;} break; @@ -7282,7 +7295,7 @@ yyreduce: case 3: /* Line 1455 of yacc.c */ -#line 738 "hphp.y" +#line 751 "hphp.y" { _p->popLabelInfo(); _p->finiParseTree(); _p->onCompleteLabelScope(true);;} @@ -7291,63 +7304,63 @@ yyreduce: case 4: /* Line 1455 of yacc.c */ -#line 745 "hphp.y" +#line 758 "hphp.y" { _p->addTopStatement((yyvsp[(2) - (2)]));;} break; case 5: /* Line 1455 of yacc.c */ -#line 746 "hphp.y" +#line 759 "hphp.y" { ;} break; case 6: /* Line 1455 of yacc.c */ -#line 749 "hphp.y" +#line 762 "hphp.y" { _p->nns((yyvsp[(1) - (1)]).num(), (yyvsp[(1) - (1)]).text()); (yyval) = (yyvsp[(1) - (1)]);;} break; case 7: /* Line 1455 of yacc.c */ -#line 750 "hphp.y" +#line 763 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 8: /* Line 1455 of yacc.c */ -#line 751 "hphp.y" +#line 764 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 9: /* Line 1455 of yacc.c */ -#line 752 "hphp.y" +#line 765 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 10: /* Line 1455 of yacc.c */ -#line 753 "hphp.y" +#line 766 "hphp.y" { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 11: /* Line 1455 of yacc.c */ -#line 754 "hphp.y" +#line 767 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 12: /* Line 1455 of yacc.c */ -#line 755 "hphp.y" +#line 768 "hphp.y" { _p->onHaltCompiler(); _p->finiParseTree(); YYACCEPT;;} @@ -7356,7 +7369,7 @@ yyreduce: case 13: /* Line 1455 of yacc.c */ -#line 758 "hphp.y" +#line 771 "hphp.y" { _p->onNamespaceStart((yyvsp[(2) - (3)]).text(), true); (yyval).reset();;} break; @@ -7364,35 +7377,35 @@ yyreduce: case 14: /* Line 1455 of yacc.c */ -#line 760 "hphp.y" +#line 773 "hphp.y" { _p->onNamespaceStart((yyvsp[(2) - (3)]).text());;} break; case 15: /* Line 1455 of yacc.c */ -#line 761 "hphp.y" +#line 774 "hphp.y" { _p->onNamespaceEnd(); (yyval) = (yyvsp[(5) - (6)]);;} break; case 16: /* Line 1455 of yacc.c */ -#line 762 "hphp.y" +#line 775 "hphp.y" { _p->onNamespaceStart("");;} break; case 17: /* Line 1455 of yacc.c */ -#line 763 "hphp.y" +#line 776 "hphp.y" { _p->onNamespaceEnd(); (yyval) = (yyvsp[(4) - (5)]);;} break; case 18: /* Line 1455 of yacc.c */ -#line 764 "hphp.y" +#line 777 "hphp.y" { _p->onUse((yyvsp[(2) - (3)]), &Parser::useClass); _p->nns(T_USE); (yyval).reset();;} break; @@ -7400,7 +7413,7 @@ yyreduce: case 19: /* Line 1455 of yacc.c */ -#line 767 "hphp.y" +#line 780 "hphp.y" { _p->onUse((yyvsp[(3) - (4)]), &Parser::useFunction); _p->nns(T_USE); (yyval).reset();;} break; @@ -7408,7 +7421,7 @@ yyreduce: case 20: /* Line 1455 of yacc.c */ -#line 770 "hphp.y" +#line 783 "hphp.y" { _p->onUse((yyvsp[(3) - (4)]), &Parser::useConst); _p->nns(T_USE); (yyval).reset();;} break; @@ -7416,7 +7429,7 @@ yyreduce: case 21: /* Line 1455 of yacc.c */ -#line 773 "hphp.y" +#line 786 "hphp.y" { _p->onGroupUse((yyvsp[(2) - (6)]).text(), (yyvsp[(4) - (6)]), nullptr); _p->nns(T_USE); (yyval).reset();;} @@ -7425,7 +7438,7 @@ yyreduce: case 22: /* Line 1455 of yacc.c */ -#line 777 "hphp.y" +#line 790 "hphp.y" { _p->onGroupUse((yyvsp[(3) - (7)]).text(), (yyvsp[(5) - (7)]), &Parser::useFunction); _p->nns(T_USE); (yyval).reset();;} @@ -7434,7 +7447,7 @@ yyreduce: case 23: /* Line 1455 of yacc.c */ -#line 781 "hphp.y" +#line 794 "hphp.y" { _p->onGroupUse((yyvsp[(3) - (7)]).text(), (yyvsp[(5) - (7)]), &Parser::useConst); _p->nns(T_USE); (yyval).reset();;} @@ -7443,7 +7456,7 @@ yyreduce: case 24: /* Line 1455 of yacc.c */ -#line 784 "hphp.y" +#line 797 "hphp.y" { _p->nns(); _p->finishStatement((yyval), (yyvsp[(1) - (2)])); (yyval) = 1;;} break; @@ -7451,98 +7464,98 @@ yyreduce: case 25: /* Line 1455 of yacc.c */ -#line 789 "hphp.y" +#line 802 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 26: /* Line 1455 of yacc.c */ -#line 790 "hphp.y" +#line 803 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 27: /* Line 1455 of yacc.c */ -#line 791 "hphp.y" +#line 804 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 28: /* Line 1455 of yacc.c */ -#line 792 "hphp.y" +#line 805 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 29: /* Line 1455 of yacc.c */ -#line 793 "hphp.y" +#line 806 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 30: /* Line 1455 of yacc.c */ -#line 794 "hphp.y" +#line 807 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 31: /* Line 1455 of yacc.c */ -#line 795 "hphp.y" +#line 808 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 32: /* Line 1455 of yacc.c */ -#line 796 "hphp.y" +#line 809 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 33: /* Line 1455 of yacc.c */ -#line 797 "hphp.y" +#line 810 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 34: /* Line 1455 of yacc.c */ -#line 798 "hphp.y" +#line 811 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 100: /* Line 1455 of yacc.c */ -#line 876 "hphp.y" +#line 889 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 101: /* Line 1455 of yacc.c */ -#line 878 "hphp.y" +#line 891 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 102: /* Line 1455 of yacc.c */ -#line 883 "hphp.y" +#line 896 "hphp.y" { _p->addStatement((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 103: /* Line 1455 of yacc.c */ -#line 884 "hphp.y" +#line 897 "hphp.y" { (yyval).reset(); _p->addStatement((yyval),(yyval),(yyvsp[(1) - (1)]));;} break; @@ -7550,49 +7563,49 @@ yyreduce: case 104: /* Line 1455 of yacc.c */ -#line 890 "hphp.y" +#line 903 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 105: /* Line 1455 of yacc.c */ -#line 894 "hphp.y" +#line 907 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(1) - (1)]).text(),"");;} break; case 106: /* Line 1455 of yacc.c */ -#line 895 "hphp.y" +#line 908 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(2) - (2)]).text(),"");;} break; case 107: /* Line 1455 of yacc.c */ -#line 897 "hphp.y" +#line 910 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(1) - (3)]).text(),(yyvsp[(3) - (3)]).text());;} break; case 108: /* Line 1455 of yacc.c */ -#line 899 "hphp.y" +#line 912 "hphp.y" { _p->onUseDeclaration((yyval), (yyvsp[(2) - (4)]).text(),(yyvsp[(4) - (4)]).text());;} break; case 109: /* Line 1455 of yacc.c */ -#line 904 "hphp.y" +#line 917 "hphp.y" { _p->addStatement((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 110: /* Line 1455 of yacc.c */ -#line 905 "hphp.y" +#line 918 "hphp.y" { (yyval).reset(); _p->addStatement((yyval),(yyval),(yyvsp[(1) - (1)]));;} break; @@ -7600,14 +7613,14 @@ yyreduce: case 111: /* Line 1455 of yacc.c */ -#line 911 "hphp.y" +#line 924 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 112: /* Line 1455 of yacc.c */ -#line 915 "hphp.y" +#line 928 "hphp.y" { _p->onMixedUseDeclaration((yyval), (yyvsp[(1) - (1)]), &Parser::useClass);;} break; @@ -7615,7 +7628,7 @@ yyreduce: case 113: /* Line 1455 of yacc.c */ -#line 917 "hphp.y" +#line 930 "hphp.y" { _p->onMixedUseDeclaration((yyval), (yyvsp[(2) - (2)]), &Parser::useFunction);;} break; @@ -7623,7 +7636,7 @@ yyreduce: case 114: /* Line 1455 of yacc.c */ -#line 919 "hphp.y" +#line 932 "hphp.y" { _p->onMixedUseDeclaration((yyval), (yyvsp[(2) - (2)]), &Parser::useConst);;} break; @@ -7631,42 +7644,42 @@ yyreduce: case 115: /* Line 1455 of yacc.c */ -#line 924 "hphp.y" +#line 937 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 116: /* Line 1455 of yacc.c */ -#line 926 "hphp.y" +#line 939 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]) + (yyvsp[(2) - (3)]) + (yyvsp[(3) - (3)]); (yyval) = (yyvsp[(1) - (3)]).num() | 2;;} break; case 117: /* Line 1455 of yacc.c */ -#line 929 "hphp.y" +#line 942 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = (yyval).num() | 1;;} break; case 118: /* Line 1455 of yacc.c */ -#line 931 "hphp.y" +#line 944 "hphp.y" { (yyval).set((yyvsp[(3) - (3)]).num() | 2, _p->nsDecl((yyvsp[(3) - (3)]).text()));;} break; case 119: /* Line 1455 of yacc.c */ -#line 932 "hphp.y" +#line 945 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = (yyval).num() | 2;;} break; case 120: /* Line 1455 of yacc.c */ -#line 937 "hphp.y" +#line 950 "hphp.y" { if ((yyvsp[(1) - (2)]).num() & 1) { (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),0)); } @@ -7676,7 +7689,7 @@ yyreduce: case 121: /* Line 1455 of yacc.c */ -#line 944 "hphp.y" +#line 957 "hphp.y" { if ((yyvsp[(1) - (2)]).num() & 1) { (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),1)); } @@ -7686,7 +7699,7 @@ yyreduce: case 122: /* Line 1455 of yacc.c */ -#line 952 "hphp.y" +#line 965 "hphp.y" { (yyvsp[(3) - (5)]).setText(_p->nsDecl((yyvsp[(3) - (5)]).text())); _p->onConst((yyval),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; @@ -7694,7 +7707,7 @@ yyreduce: case 123: /* Line 1455 of yacc.c */ -#line 955 "hphp.y" +#line 968 "hphp.y" { (yyvsp[(2) - (4)]).setText(_p->nsDecl((yyvsp[(2) - (4)]).text())); _p->onConst((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} break; @@ -7702,70 +7715,70 @@ yyreduce: case 124: /* Line 1455 of yacc.c */ -#line 961 "hphp.y" +#line 974 "hphp.y" { _p->addStatement((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 125: /* Line 1455 of yacc.c */ -#line 962 "hphp.y" +#line 975 "hphp.y" { _p->onStatementListStart((yyval));;} break; case 126: /* Line 1455 of yacc.c */ -#line 965 "hphp.y" +#line 978 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 127: /* Line 1455 of yacc.c */ -#line 966 "hphp.y" +#line 979 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 128: /* Line 1455 of yacc.c */ -#line 967 "hphp.y" +#line 980 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 129: /* Line 1455 of yacc.c */ -#line 968 "hphp.y" +#line 981 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 130: /* Line 1455 of yacc.c */ -#line 971 "hphp.y" +#line 984 "hphp.y" { _p->onBlock((yyval), (yyvsp[(2) - (3)]));;} break; case 131: /* Line 1455 of yacc.c */ -#line 975 "hphp.y" +#line 988 "hphp.y" { _p->onIf((yyval),(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]));;} break; case 132: /* Line 1455 of yacc.c */ -#line 980 "hphp.y" +#line 993 "hphp.y" { _p->onIf((yyval),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]));;} break; case 133: /* Line 1455 of yacc.c */ -#line 981 "hphp.y" +#line 994 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7773,7 +7786,7 @@ yyreduce: case 134: /* Line 1455 of yacc.c */ -#line 983 "hphp.y" +#line 996 "hphp.y" { _p->popLabelScope(); _p->onWhile((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)])); _p->onCompleteLabelScope(false);;} @@ -7782,7 +7795,7 @@ yyreduce: case 135: /* Line 1455 of yacc.c */ -#line 987 "hphp.y" +#line 1000 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7790,7 +7803,7 @@ yyreduce: case 136: /* Line 1455 of yacc.c */ -#line 990 "hphp.y" +#line 1003 "hphp.y" { _p->popLabelScope(); _p->onDo((yyval),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)])); _p->onCompleteLabelScope(false);;} @@ -7799,7 +7812,7 @@ yyreduce: case 137: /* Line 1455 of yacc.c */ -#line 994 "hphp.y" +#line 1007 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7807,7 +7820,7 @@ yyreduce: case 138: /* Line 1455 of yacc.c */ -#line 996 "hphp.y" +#line 1009 "hphp.y" { _p->popLabelScope(); _p->onFor((yyval),(yyvsp[(3) - (10)]),(yyvsp[(5) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)])); _p->onCompleteLabelScope(false);;} @@ -7816,7 +7829,7 @@ yyreduce: case 139: /* Line 1455 of yacc.c */ -#line 999 "hphp.y" +#line 1012 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7824,7 +7837,7 @@ yyreduce: case 140: /* Line 1455 of yacc.c */ -#line 1001 "hphp.y" +#line 1014 "hphp.y" { _p->popLabelScope(); _p->onSwitch((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)])); _p->onCompleteLabelScope(false);;} @@ -7833,105 +7846,105 @@ yyreduce: case 141: /* Line 1455 of yacc.c */ -#line 1004 "hphp.y" +#line 1017 "hphp.y" { _p->onBreakContinue((yyval), true, NULL);;} break; case 142: /* Line 1455 of yacc.c */ -#line 1005 "hphp.y" +#line 1018 "hphp.y" { _p->onBreakContinue((yyval), true, &(yyvsp[(2) - (3)]));;} break; case 143: /* Line 1455 of yacc.c */ -#line 1006 "hphp.y" +#line 1019 "hphp.y" { _p->onBreakContinue((yyval), false, NULL);;} break; case 144: /* Line 1455 of yacc.c */ -#line 1007 "hphp.y" +#line 1020 "hphp.y" { _p->onBreakContinue((yyval), false, &(yyvsp[(2) - (3)]));;} break; case 145: /* Line 1455 of yacc.c */ -#line 1008 "hphp.y" +#line 1021 "hphp.y" { _p->onReturn((yyval), NULL);;} break; case 146: /* Line 1455 of yacc.c */ -#line 1009 "hphp.y" +#line 1022 "hphp.y" { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));;} break; case 147: /* Line 1455 of yacc.c */ -#line 1010 "hphp.y" +#line 1023 "hphp.y" { _p->onYieldBreak((yyval));;} break; case 148: /* Line 1455 of yacc.c */ -#line 1011 "hphp.y" +#line 1024 "hphp.y" { _p->onGlobal((yyval), (yyvsp[(2) - (3)]));;} break; case 149: /* Line 1455 of yacc.c */ -#line 1012 "hphp.y" +#line 1025 "hphp.y" { _p->onStatic((yyval), (yyvsp[(2) - (3)]));;} break; case 150: /* Line 1455 of yacc.c */ -#line 1013 "hphp.y" +#line 1026 "hphp.y" { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);;} break; case 151: /* Line 1455 of yacc.c */ -#line 1014 "hphp.y" +#line 1027 "hphp.y" { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);;} break; case 152: /* Line 1455 of yacc.c */ -#line 1015 "hphp.y" +#line 1028 "hphp.y" { _p->onUnset((yyval), (yyvsp[(3) - (5)]));;} break; case 153: /* Line 1455 of yacc.c */ -#line 1016 "hphp.y" +#line 1029 "hphp.y" { (yyval).reset(); (yyval) = ';';;} break; case 154: /* Line 1455 of yacc.c */ -#line 1017 "hphp.y" +#line 1030 "hphp.y" { _p->onEcho((yyval), (yyvsp[(1) - (1)]), 1);;} break; case 155: /* Line 1455 of yacc.c */ -#line 1018 "hphp.y" +#line 1031 "hphp.y" { _p->onHashBang((yyval), (yyvsp[(1) - (1)])); (yyval) = T_HASHBANG;;} break; @@ -7939,7 +7952,7 @@ yyreduce: case 156: /* Line 1455 of yacc.c */ -#line 1022 "hphp.y" +#line 1035 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7947,7 +7960,7 @@ yyreduce: case 157: /* Line 1455 of yacc.c */ -#line 1024 "hphp.y" +#line 1037 "hphp.y" { _p->popLabelScope(); _p->onForEach((yyval),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]), false); _p->onCompleteLabelScope(false);;} @@ -7956,7 +7969,7 @@ yyreduce: case 158: /* Line 1455 of yacc.c */ -#line 1029 "hphp.y" +#line 1042 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -7964,7 +7977,7 @@ yyreduce: case 159: /* Line 1455 of yacc.c */ -#line 1031 "hphp.y" +#line 1044 "hphp.y" { _p->popLabelScope(); _p->onForEach((yyval),(yyvsp[(3) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]), true); _p->onCompleteLabelScope(false);;} @@ -7973,7 +7986,7 @@ yyreduce: case 160: /* Line 1455 of yacc.c */ -#line 1035 "hphp.y" +#line 1048 "hphp.y" { _p->onDeclare((yyvsp[(3) - (5)]), (yyvsp[(5) - (5)])); (yyval) = (yyvsp[(3) - (5)]); (yyval) = T_DECLARE;;} @@ -7982,42 +7995,42 @@ yyreduce: case 161: /* Line 1455 of yacc.c */ -#line 1044 "hphp.y" +#line 1057 "hphp.y" { _p->onCompleteLabelScope(false);;} break; case 162: /* Line 1455 of yacc.c */ -#line 1045 "hphp.y" +#line 1058 "hphp.y" { _p->onTry((yyval),(yyvsp[(2) - (13)]),(yyvsp[(5) - (13)]),(yyvsp[(6) - (13)]),(yyvsp[(9) - (13)]),(yyvsp[(11) - (13)]),(yyvsp[(13) - (13)]));;} break; case 163: /* Line 1455 of yacc.c */ -#line 1048 "hphp.y" +#line 1061 "hphp.y" { _p->onCompleteLabelScope(false);;} break; case 164: /* Line 1455 of yacc.c */ -#line 1049 "hphp.y" +#line 1062 "hphp.y" { _p->onTry((yyval), (yyvsp[(2) - (5)]), (yyvsp[(5) - (5)]));;} break; case 165: /* Line 1455 of yacc.c */ -#line 1050 "hphp.y" +#line 1063 "hphp.y" { _p->onThrow((yyval), (yyvsp[(2) - (3)]));;} break; case 166: /* Line 1455 of yacc.c */ -#line 1051 "hphp.y" +#line 1064 "hphp.y" { _p->onGoto((yyval), (yyvsp[(2) - (3)]), true); _p->addGoto((yyvsp[(2) - (3)]).text(), _p->getRange(), @@ -8027,84 +8040,84 @@ yyreduce: case 167: /* Line 1455 of yacc.c */ -#line 1055 "hphp.y" +#line 1068 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 168: /* Line 1455 of yacc.c */ -#line 1056 "hphp.y" +#line 1069 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 169: /* Line 1455 of yacc.c */ -#line 1057 "hphp.y" +#line 1070 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 170: /* Line 1455 of yacc.c */ -#line 1058 "hphp.y" +#line 1071 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 171: /* Line 1455 of yacc.c */ -#line 1059 "hphp.y" +#line 1072 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 172: /* Line 1455 of yacc.c */ -#line 1060 "hphp.y" +#line 1073 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 173: /* Line 1455 of yacc.c */ -#line 1061 "hphp.y" +#line 1074 "hphp.y" { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));;} break; case 174: /* Line 1455 of yacc.c */ -#line 1062 "hphp.y" +#line 1075 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 175: /* Line 1455 of yacc.c */ -#line 1063 "hphp.y" +#line 1076 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 176: /* Line 1455 of yacc.c */ -#line 1064 "hphp.y" +#line 1077 "hphp.y" { _p->onReturn((yyval), &(yyvsp[(2) - (3)])); ;} break; case 177: /* Line 1455 of yacc.c */ -#line 1065 "hphp.y" +#line 1078 "hphp.y" { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;} break; case 178: /* Line 1455 of yacc.c */ -#line 1066 "hphp.y" +#line 1079 "hphp.y" { _p->onLabel((yyval), (yyvsp[(1) - (2)])); _p->addLabel((yyvsp[(1) - (2)]).text(), _p->getRange(), @@ -8115,35 +8128,35 @@ yyreduce: case 179: /* Line 1455 of yacc.c */ -#line 1074 "hphp.y" +#line 1087 "hphp.y" { _p->onNewLabelScope(false);;} break; case 180: /* Line 1455 of yacc.c */ -#line 1075 "hphp.y" +#line 1088 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]);;} break; case 181: /* Line 1455 of yacc.c */ -#line 1084 "hphp.y" +#line 1097 "hphp.y" { _p->onCatch((yyval), (yyvsp[(1) - (9)]), (yyvsp[(4) - (9)]), (yyvsp[(5) - (9)]), (yyvsp[(8) - (9)]));;} break; case 182: /* Line 1455 of yacc.c */ -#line 1085 "hphp.y" +#line 1098 "hphp.y" { (yyval).reset();;} break; case 183: /* Line 1455 of yacc.c */ -#line 1089 "hphp.y" +#line 1102 "hphp.y" { _p->onNewLabelScope(false); _p->pushLabelScope();;} break; @@ -8151,7 +8164,7 @@ yyreduce: case 184: /* Line 1455 of yacc.c */ -#line 1091 "hphp.y" +#line 1104 "hphp.y" { _p->popLabelScope(); _p->onFinally((yyval), (yyvsp[(3) - (4)])); _p->onCompleteLabelScope(false);;} @@ -8160,42 +8173,42 @@ yyreduce: case 185: /* Line 1455 of yacc.c */ -#line 1097 "hphp.y" +#line 1110 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 186: /* Line 1455 of yacc.c */ -#line 1098 "hphp.y" +#line 1111 "hphp.y" { (yyval).reset();;} break; case 187: /* Line 1455 of yacc.c */ -#line 1102 "hphp.y" +#line 1115 "hphp.y" { (yyval) = 1;;} break; case 188: /* Line 1455 of yacc.c */ -#line 1103 "hphp.y" +#line 1116 "hphp.y" { (yyval).reset();;} break; case 189: /* Line 1455 of yacc.c */ -#line 1107 "hphp.y" +#line 1120 "hphp.y" { _p->pushFuncLocation(); ;} break; case 190: /* Line 1455 of yacc.c */ -#line 1113 "hphp.y" +#line 1126 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text())); _p->onNewLabelScope(true); _p->onFunctionStart((yyvsp[(3) - (3)])); @@ -8205,7 +8218,7 @@ yyreduce: case 191: /* Line 1455 of yacc.c */ -#line 1119 "hphp.y" +#line 1132 "hphp.y" { _p->onFunction((yyval),nullptr,(yyvsp[(8) - (9)]),(yyvsp[(2) - (9)]),(yyvsp[(3) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]),nullptr); _p->popLabelInfo(); _p->popTypeScope(); @@ -8215,7 +8228,7 @@ yyreduce: case 192: /* Line 1455 of yacc.c */ -#line 1126 "hphp.y" +#line 1139 "hphp.y" { (yyvsp[(4) - (4)]).setText(_p->nsDecl((yyvsp[(4) - (4)]).text())); _p->onNewLabelScope(true); _p->onFunctionStart((yyvsp[(4) - (4)])); @@ -8225,7 +8238,7 @@ yyreduce: case 193: /* Line 1455 of yacc.c */ -#line 1132 "hphp.y" +#line 1145 "hphp.y" { _p->onFunction((yyval),&(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr); _p->popLabelInfo(); _p->popTypeScope(); @@ -8235,7 +8248,7 @@ yyreduce: case 194: /* Line 1455 of yacc.c */ -#line 1139 "hphp.y" +#line 1152 "hphp.y" { (yyvsp[(5) - (5)]).setText(_p->nsDecl((yyvsp[(5) - (5)]).text())); _p->onNewLabelScope(true); _p->onFunctionStart((yyvsp[(5) - (5)])); @@ -8245,7 +8258,7 @@ yyreduce: case 195: /* Line 1455 of yacc.c */ -#line 1145 "hphp.y" +#line 1158 "hphp.y" { _p->onFunction((yyval),&(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)])); _p->popLabelInfo(); _p->popTypeScope(); @@ -8255,7 +8268,7 @@ yyreduce: case 196: /* Line 1455 of yacc.c */ -#line 1153 "hphp.y" +#line 1166 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart(T_ENUM,(yyvsp[(2) - (2)]));;} break; @@ -8263,14 +8276,14 @@ yyreduce: case 197: /* Line 1455 of yacc.c */ -#line 1157 "hphp.y" +#line 1170 "hphp.y" { _p->onEnum((yyval),(yyvsp[(2) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]),0); ;} break; case 198: /* Line 1455 of yacc.c */ -#line 1161 "hphp.y" +#line 1174 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart(T_ENUM,(yyvsp[(3) - (3)]));;} break; @@ -8278,14 +8291,14 @@ yyreduce: case 199: /* Line 1455 of yacc.c */ -#line 1165 "hphp.y" +#line 1178 "hphp.y" { _p->onEnum((yyval),(yyvsp[(3) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(9) - (10)]),&(yyvsp[(1) - (10)])); ;} break; case 200: /* Line 1455 of yacc.c */ -#line 1171 "hphp.y" +#line 1184 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart((yyvsp[(1) - (2)]).num(),(yyvsp[(2) - (2)]));;} break; @@ -8293,7 +8306,7 @@ yyreduce: case 201: /* Line 1455 of yacc.c */ -#line 1174 "hphp.y" +#line 1187 "hphp.y" { Token stmts; if (_p->peekClass()) { xhp_collect_attributes(_p,stmts,(yyvsp[(7) - (8)])); @@ -8312,7 +8325,7 @@ yyreduce: case 202: /* Line 1455 of yacc.c */ -#line 1189 "hphp.y" +#line 1202 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart((yyvsp[(2) - (3)]).num(),(yyvsp[(3) - (3)]));;} break; @@ -8320,7 +8333,7 @@ yyreduce: case 203: /* Line 1455 of yacc.c */ -#line 1192 "hphp.y" +#line 1205 "hphp.y" { Token stmts; if (_p->peekClass()) { xhp_collect_attributes(_p,stmts,(yyvsp[(8) - (9)])); @@ -8339,7 +8352,7 @@ yyreduce: case 204: /* Line 1455 of yacc.c */ -#line 1206 "hphp.y" +#line 1219 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart(T_INTERFACE,(yyvsp[(2) - (2)]));;} break; @@ -8347,7 +8360,7 @@ yyreduce: case 205: /* Line 1455 of yacc.c */ -#line 1209 "hphp.y" +#line 1222 "hphp.y" { _p->onInterface((yyval),(yyvsp[(2) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(6) - (7)]),0); _p->popClass(); _p->popTypeScope();;} @@ -8356,7 +8369,7 @@ yyreduce: case 206: /* Line 1455 of yacc.c */ -#line 1214 "hphp.y" +#line 1227 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart(T_INTERFACE,(yyvsp[(3) - (3)]));;} break; @@ -8364,7 +8377,7 @@ yyreduce: case 207: /* Line 1455 of yacc.c */ -#line 1217 "hphp.y" +#line 1230 "hphp.y" { _p->onInterface((yyval),(yyvsp[(3) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)])); _p->popClass(); _p->popTypeScope();;} @@ -8373,21 +8386,21 @@ yyreduce: case 208: /* Line 1455 of yacc.c */ -#line 1223 "hphp.y" +#line 1236 "hphp.y" { _p->onClassExpressionStart(); ;} break; case 209: /* Line 1455 of yacc.c */ -#line 1226 "hphp.y" +#line 1239 "hphp.y" { _p->onClassExpression((yyval), (yyvsp[(3) - (8)]), (yyvsp[(4) - (8)]), (yyvsp[(5) - (8)]), (yyvsp[(7) - (8)])); ;} break; case 210: /* Line 1455 of yacc.c */ -#line 1230 "hphp.y" +#line 1243 "hphp.y" { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text())); _p->onClassStart(T_TRAIT, (yyvsp[(2) - (2)]));;} break; @@ -8395,7 +8408,7 @@ yyreduce: case 211: /* Line 1455 of yacc.c */ -#line 1233 "hphp.y" +#line 1246 "hphp.y" { Token t_ext; t_ext.reset(); _p->onClass((yyval),T_TRAIT,(yyvsp[(2) - (7)]),t_ext,(yyvsp[(4) - (7)]), @@ -8407,7 +8420,7 @@ yyreduce: case 212: /* Line 1455 of yacc.c */ -#line 1241 "hphp.y" +#line 1254 "hphp.y" { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text())); _p->onClassStart(T_TRAIT, (yyvsp[(3) - (3)]));;} break; @@ -8415,7 +8428,7 @@ yyreduce: case 213: /* Line 1455 of yacc.c */ -#line 1244 "hphp.y" +#line 1257 "hphp.y" { Token t_ext; t_ext.reset(); _p->onClass((yyval),T_TRAIT,(yyvsp[(3) - (8)]),t_ext,(yyvsp[(5) - (8)]), @@ -8427,14 +8440,14 @@ yyreduce: case 214: /* Line 1455 of yacc.c */ -#line 1252 "hphp.y" +#line 1265 "hphp.y" { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;} break; case 215: /* Line 1455 of yacc.c */ -#line 1253 "hphp.y" +#line 1266 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); _p->pushTypeScope(); _p->pushClass(true); (yyval) = (yyvsp[(1) - (1)]);;} break; @@ -8442,35 +8455,35 @@ yyreduce: case 216: /* Line 1455 of yacc.c */ -#line 1257 "hphp.y" +#line 1270 "hphp.y" { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;} break; case 217: /* Line 1455 of yacc.c */ -#line 1260 "hphp.y" +#line 1273 "hphp.y" { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;} break; case 218: /* Line 1455 of yacc.c */ -#line 1263 "hphp.y" +#line 1276 "hphp.y" { (yyval) = T_CLASS;;} break; case 219: /* Line 1455 of yacc.c */ -#line 1264 "hphp.y" +#line 1277 "hphp.y" { (yyval) = T_ABSTRACT; ;} break; case 220: /* Line 1455 of yacc.c */ -#line 1265 "hphp.y" +#line 1278 "hphp.y" { only_in_hh_syntax(_p); /* hacky, but transforming to a single token is quite convenient */ (yyval) = T_STATIC; ;} @@ -8479,189 +8492,189 @@ yyreduce: case 221: /* Line 1455 of yacc.c */ -#line 1268 "hphp.y" +#line 1281 "hphp.y" { only_in_hh_syntax(_p); (yyval) = T_STATIC; ;} break; case 222: /* Line 1455 of yacc.c */ -#line 1269 "hphp.y" +#line 1282 "hphp.y" { (yyval) = T_FINAL;;} break; case 223: /* Line 1455 of yacc.c */ -#line 1273 "hphp.y" +#line 1286 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 224: /* Line 1455 of yacc.c */ -#line 1274 "hphp.y" +#line 1287 "hphp.y" { (yyval).reset();;} break; case 225: /* Line 1455 of yacc.c */ -#line 1277 "hphp.y" +#line 1290 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 226: /* Line 1455 of yacc.c */ -#line 1278 "hphp.y" +#line 1291 "hphp.y" { (yyval).reset();;} break; case 227: /* Line 1455 of yacc.c */ -#line 1281 "hphp.y" +#line 1294 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 228: /* Line 1455 of yacc.c */ -#line 1282 "hphp.y" +#line 1295 "hphp.y" { (yyval).reset();;} break; case 229: /* Line 1455 of yacc.c */ -#line 1285 "hphp.y" +#line 1298 "hphp.y" { _p->onInterfaceName((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 230: /* Line 1455 of yacc.c */ -#line 1287 "hphp.y" +#line 1300 "hphp.y" { _p->onInterfaceName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 231: /* Line 1455 of yacc.c */ -#line 1290 "hphp.y" +#line 1303 "hphp.y" { _p->onTraitName((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 232: /* Line 1455 of yacc.c */ -#line 1292 "hphp.y" +#line 1305 "hphp.y" { _p->onTraitName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 233: /* Line 1455 of yacc.c */ -#line 1296 "hphp.y" +#line 1309 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 234: /* Line 1455 of yacc.c */ -#line 1297 "hphp.y" +#line 1310 "hphp.y" { (yyval).reset();;} break; case 235: /* Line 1455 of yacc.c */ -#line 1300 "hphp.y" +#line 1313 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;} break; case 236: /* Line 1455 of yacc.c */ -#line 1301 "hphp.y" +#line 1314 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;} break; case 237: /* Line 1455 of yacc.c */ -#line 1302 "hphp.y" +#line 1315 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (4)]), NULL);;} break; case 238: /* Line 1455 of yacc.c */ -#line 1306 "hphp.y" +#line 1319 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 239: /* Line 1455 of yacc.c */ -#line 1308 "hphp.y" +#line 1321 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 240: /* Line 1455 of yacc.c */ -#line 1311 "hphp.y" +#line 1324 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 241: /* Line 1455 of yacc.c */ -#line 1313 "hphp.y" +#line 1326 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 242: /* Line 1455 of yacc.c */ -#line 1316 "hphp.y" +#line 1329 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 243: /* Line 1455 of yacc.c */ -#line 1318 "hphp.y" +#line 1331 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 244: /* Line 1455 of yacc.c */ -#line 1321 "hphp.y" +#line 1334 "hphp.y" { _p->onBlock((yyval), (yyvsp[(1) - (1)]));;} break; case 245: /* Line 1455 of yacc.c */ -#line 1323 "hphp.y" +#line 1336 "hphp.y" { _p->onBlock((yyval), (yyvsp[(2) - (4)]));;} break; case 246: /* Line 1455 of yacc.c */ -#line 1327 "hphp.y" +#line 1340 "hphp.y" {_p->onDeclareList((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 247: /* Line 1455 of yacc.c */ -#line 1329 "hphp.y" +#line 1342 "hphp.y" {_p->onDeclareList((yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(5) - (5)])); (yyval) = (yyvsp[(1) - (5)]);;} break; @@ -8669,126 +8682,126 @@ yyreduce: case 248: /* Line 1455 of yacc.c */ -#line 1334 "hphp.y" +#line 1347 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 249: /* Line 1455 of yacc.c */ -#line 1335 "hphp.y" +#line 1348 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]);;} break; case 250: /* Line 1455 of yacc.c */ -#line 1336 "hphp.y" +#line 1349 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 251: /* Line 1455 of yacc.c */ -#line 1337 "hphp.y" +#line 1350 "hphp.y" { (yyval) = (yyvsp[(3) - (5)]);;} break; case 252: /* Line 1455 of yacc.c */ -#line 1342 "hphp.y" +#line 1355 "hphp.y" { _p->onCase((yyval),(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 253: /* Line 1455 of yacc.c */ -#line 1344 "hphp.y" +#line 1357 "hphp.y" { _p->onCase((yyval),(yyvsp[(1) - (4)]),NULL,(yyvsp[(4) - (4)]));;} break; case 254: /* Line 1455 of yacc.c */ -#line 1345 "hphp.y" +#line 1358 "hphp.y" { (yyval).reset();;} break; case 255: /* Line 1455 of yacc.c */ -#line 1348 "hphp.y" +#line 1361 "hphp.y" { (yyval).reset();;} break; case 256: /* Line 1455 of yacc.c */ -#line 1349 "hphp.y" +#line 1362 "hphp.y" { (yyval).reset();;} break; case 257: /* Line 1455 of yacc.c */ -#line 1354 "hphp.y" +#line 1367 "hphp.y" { _p->onElseIf((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;} break; case 258: /* Line 1455 of yacc.c */ -#line 1355 "hphp.y" +#line 1368 "hphp.y" { (yyval).reset();;} break; case 259: /* Line 1455 of yacc.c */ -#line 1360 "hphp.y" +#line 1373 "hphp.y" { _p->onElseIf((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 260: /* Line 1455 of yacc.c */ -#line 1361 "hphp.y" +#line 1374 "hphp.y" { (yyval).reset();;} break; case 261: /* Line 1455 of yacc.c */ -#line 1364 "hphp.y" +#line 1377 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 262: /* Line 1455 of yacc.c */ -#line 1365 "hphp.y" +#line 1378 "hphp.y" { (yyval).reset();;} break; case 263: /* Line 1455 of yacc.c */ -#line 1368 "hphp.y" +#line 1381 "hphp.y" { (yyval) = (yyvsp[(3) - (3)]);;} break; case 264: /* Line 1455 of yacc.c */ -#line 1369 "hphp.y" +#line 1382 "hphp.y" { (yyval).reset();;} break; case 265: /* Line 1455 of yacc.c */ -#line 1377 "hphp.y" +#line 1390 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),false, &(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)])); ;} break; @@ -8796,7 +8809,7 @@ yyreduce: case 266: /* Line 1455 of yacc.c */ -#line 1383 "hphp.y" +#line 1396 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(8) - (8)]),true, &(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)])); ;} break; @@ -8804,7 +8817,7 @@ yyreduce: case 267: /* Line 1455 of yacc.c */ -#line 1389 "hphp.y" +#line 1402 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]), &(yyvsp[(4) - (6)])); (yyval) = (yyvsp[(1) - (6)]); ;} @@ -8813,14 +8826,14 @@ yyreduce: case 268: /* Line 1455 of yacc.c */ -#line 1393 "hphp.y" +#line 1406 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 269: /* Line 1455 of yacc.c */ -#line 1397 "hphp.y" +#line 1410 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),false, &(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)])); ;} break; @@ -8828,7 +8841,7 @@ yyreduce: case 270: /* Line 1455 of yacc.c */ -#line 1402 "hphp.y" +#line 1415 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),true, &(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)])); ;} break; @@ -8836,7 +8849,7 @@ yyreduce: case 271: /* Line 1455 of yacc.c */ -#line 1407 "hphp.y" +#line 1420 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]), &(yyvsp[(2) - (4)])); (yyval).reset(); ;} @@ -8845,14 +8858,14 @@ yyreduce: case 272: /* Line 1455 of yacc.c */ -#line 1410 "hphp.y" +#line 1423 "hphp.y" { (yyval).reset(); ;} break; case 273: /* Line 1455 of yacc.c */ -#line 1416 "hphp.y" +#line 1429 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]),0, NULL,&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]));;} break; @@ -8860,7 +8873,7 @@ yyreduce: case 274: /* Line 1455 of yacc.c */ -#line 1420 "hphp.y" +#line 1433 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),1, NULL,&(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)]));;} break; @@ -8868,7 +8881,7 @@ yyreduce: case 275: /* Line 1455 of yacc.c */ -#line 1425 "hphp.y" +#line 1438 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (7)]),(yyvsp[(5) - (7)]),1, &(yyvsp[(7) - (7)]),&(yyvsp[(1) - (7)]),&(yyvsp[(2) - (7)]));;} break; @@ -8876,7 +8889,7 @@ yyreduce: case 276: /* Line 1455 of yacc.c */ -#line 1430 "hphp.y" +#line 1443 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(4) - (6)]),0, &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)]));;} break; @@ -8884,7 +8897,7 @@ yyreduce: case 277: /* Line 1455 of yacc.c */ -#line 1435 "hphp.y" +#line 1448 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]),0, NULL,&(yyvsp[(3) - (6)]),&(yyvsp[(4) - (6)]));;} break; @@ -8892,7 +8905,7 @@ yyreduce: case 278: /* Line 1455 of yacc.c */ -#line 1440 "hphp.y" +#line 1453 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),1, NULL,&(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)]));;} break; @@ -8900,7 +8913,7 @@ yyreduce: case 279: /* Line 1455 of yacc.c */ -#line 1446 "hphp.y" +#line 1459 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(7) - (9)]),1, &(yyvsp[(9) - (9)]),&(yyvsp[(3) - (9)]),&(yyvsp[(4) - (9)]));;} break; @@ -8908,7 +8921,7 @@ yyreduce: case 280: /* Line 1455 of yacc.c */ -#line 1452 "hphp.y" +#line 1465 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]),0, &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)]));;} break; @@ -8916,7 +8929,7 @@ yyreduce: case 281: /* Line 1455 of yacc.c */ -#line 1460 "hphp.y" +#line 1473 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]), false,&(yyvsp[(3) - (6)]),NULL); ;} break; @@ -8924,7 +8937,7 @@ yyreduce: case 282: /* Line 1455 of yacc.c */ -#line 1465 "hphp.y" +#line 1478 "hphp.y" { _p->onVariadicParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(7) - (7)]), true,&(yyvsp[(3) - (7)]),NULL); ;} break; @@ -8932,7 +8945,7 @@ yyreduce: case 283: /* Line 1455 of yacc.c */ -#line 1470 "hphp.y" +#line 1483 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), NULL); (yyval) = (yyvsp[(1) - (5)]); ;} @@ -8941,14 +8954,14 @@ yyreduce: case 284: /* Line 1455 of yacc.c */ -#line 1474 "hphp.y" +#line 1487 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 285: /* Line 1455 of yacc.c */ -#line 1477 "hphp.y" +#line 1490 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]), false,&(yyvsp[(1) - (4)]),NULL); ;} break; @@ -8956,7 +8969,7 @@ yyreduce: case 286: /* Line 1455 of yacc.c */ -#line 1481 "hphp.y" +#line 1494 "hphp.y" { _p->onVariadicParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(5) - (5)]), true,&(yyvsp[(1) - (5)]),NULL); ;} break; @@ -8964,7 +8977,7 @@ yyreduce: case 287: /* Line 1455 of yacc.c */ -#line 1485 "hphp.y" +#line 1498 "hphp.y" { validate_hh_variadic_variant( _p, (yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), NULL); (yyval).reset(); ;} @@ -8973,14 +8986,14 @@ yyreduce: case 288: /* Line 1455 of yacc.c */ -#line 1488 "hphp.y" +#line 1501 "hphp.y" { (yyval).reset();;} break; case 289: /* Line 1455 of yacc.c */ -#line 1493 "hphp.y" +#line 1506 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (3)]),(yyvsp[(3) - (3)]),false, NULL,&(yyvsp[(1) - (3)]),NULL); ;} break; @@ -8988,7 +9001,7 @@ yyreduce: case 290: /* Line 1455 of yacc.c */ -#line 1496 "hphp.y" +#line 1509 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),true, NULL,&(yyvsp[(1) - (4)]),NULL); ;} break; @@ -8996,7 +9009,7 @@ yyreduce: case 291: /* Line 1455 of yacc.c */ -#line 1500 "hphp.y" +#line 1513 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (6)]),(yyvsp[(4) - (6)]),true, &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),NULL); ;} break; @@ -9004,7 +9017,7 @@ yyreduce: case 292: /* Line 1455 of yacc.c */ -#line 1504 "hphp.y" +#line 1517 "hphp.y" { _p->onParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),false, &(yyvsp[(5) - (5)]),&(yyvsp[(1) - (5)]),NULL); ;} break; @@ -9012,7 +9025,7 @@ yyreduce: case 293: /* Line 1455 of yacc.c */ -#line 1508 "hphp.y" +#line 1521 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]),false, NULL,&(yyvsp[(3) - (5)]),NULL); ;} break; @@ -9020,7 +9033,7 @@ yyreduce: case 294: /* Line 1455 of yacc.c */ -#line 1512 "hphp.y" +#line 1525 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]),true, NULL,&(yyvsp[(3) - (6)]),NULL); ;} break; @@ -9028,7 +9041,7 @@ yyreduce: case 295: /* Line 1455 of yacc.c */ -#line 1517 "hphp.y" +#line 1530 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(6) - (8)]),true, &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),NULL); ;} break; @@ -9036,7 +9049,7 @@ yyreduce: case 296: /* Line 1455 of yacc.c */ -#line 1522 "hphp.y" +#line 1535 "hphp.y" { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(5) - (7)]),false, &(yyvsp[(7) - (7)]),&(yyvsp[(3) - (7)]),NULL); ;} break; @@ -9044,140 +9057,140 @@ yyreduce: case 297: /* Line 1455 of yacc.c */ -#line 1528 "hphp.y" +#line 1541 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 298: /* Line 1455 of yacc.c */ -#line 1529 "hphp.y" +#line 1542 "hphp.y" { (yyval).reset();;} break; case 299: /* Line 1455 of yacc.c */ -#line 1532 "hphp.y" +#line 1545 "hphp.y" { _p->onCallParam((yyval),NULL,(yyvsp[(1) - (1)]),false,false);;} break; case 300: /* Line 1455 of yacc.c */ -#line 1533 "hphp.y" +#line 1546 "hphp.y" { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),true,false);;} break; case 301: /* Line 1455 of yacc.c */ -#line 1534 "hphp.y" +#line 1547 "hphp.y" { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),false,true);;} break; case 302: /* Line 1455 of yacc.c */ -#line 1536 "hphp.y" +#line 1549 "hphp.y" { _p->onCallParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),false, false);;} break; case 303: /* Line 1455 of yacc.c */ -#line 1538 "hphp.y" +#line 1551 "hphp.y" { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),false,true);;} break; case 304: /* Line 1455 of yacc.c */ -#line 1540 "hphp.y" +#line 1553 "hphp.y" { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),true, false);;} break; case 305: /* Line 1455 of yacc.c */ -#line 1544 "hphp.y" +#line 1557 "hphp.y" { _p->onGlobalVar((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 306: /* Line 1455 of yacc.c */ -#line 1545 "hphp.y" +#line 1558 "hphp.y" { _p->onGlobalVar((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 307: /* Line 1455 of yacc.c */ -#line 1548 "hphp.y" +#line 1561 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 308: /* Line 1455 of yacc.c */ -#line 1549 "hphp.y" +#line 1562 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;} break; case 309: /* Line 1455 of yacc.c */ -#line 1550 "hphp.y" +#line 1563 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 1;;} break; case 310: /* Line 1455 of yacc.c */ -#line 1554 "hphp.y" +#line 1567 "hphp.y" { _p->onStaticVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 311: /* Line 1455 of yacc.c */ -#line 1556 "hphp.y" +#line 1569 "hphp.y" { _p->onStaticVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;} break; case 312: /* Line 1455 of yacc.c */ -#line 1557 "hphp.y" +#line 1570 "hphp.y" { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (1)]),0);;} break; case 313: /* Line 1455 of yacc.c */ -#line 1558 "hphp.y" +#line 1571 "hphp.y" { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} break; case 314: /* Line 1455 of yacc.c */ -#line 1563 "hphp.y" +#line 1576 "hphp.y" { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 315: /* Line 1455 of yacc.c */ -#line 1564 "hphp.y" +#line 1577 "hphp.y" { (yyval).reset();;} break; case 316: /* Line 1455 of yacc.c */ -#line 1567 "hphp.y" +#line 1580 "hphp.y" { _p->onClassVariableStart ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);;} break; @@ -9185,35 +9198,35 @@ yyreduce: case 317: /* Line 1455 of yacc.c */ -#line 1572 "hphp.y" +#line 1585 "hphp.y" { _p->onClassConstant((yyval),0,(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 318: /* Line 1455 of yacc.c */ -#line 1578 "hphp.y" +#line 1591 "hphp.y" { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 319: /* Line 1455 of yacc.c */ -#line 1579 "hphp.y" +#line 1592 "hphp.y" { (yyval).reset();;} break; case 320: /* Line 1455 of yacc.c */ -#line 1582 "hphp.y" +#line 1595 "hphp.y" { _p->onClassVariableModifer((yyvsp[(1) - (1)]));;} break; case 321: /* Line 1455 of yacc.c */ -#line 1583 "hphp.y" +#line 1596 "hphp.y" { _p->onClassVariableStart ((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; @@ -9221,14 +9234,14 @@ yyreduce: case 322: /* Line 1455 of yacc.c */ -#line 1586 "hphp.y" +#line 1599 "hphp.y" { _p->onClassVariableModifer((yyvsp[(1) - (2)]));;} break; case 323: /* Line 1455 of yacc.c */ -#line 1587 "hphp.y" +#line 1600 "hphp.y" { _p->onClassVariableStart ((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),&(yyvsp[(2) - (5)]));;} break; @@ -9236,7 +9249,7 @@ yyreduce: case 324: /* Line 1455 of yacc.c */ -#line 1589 "hphp.y" +#line 1602 "hphp.y" { _p->onClassVariableStart ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);;} break; @@ -9244,7 +9257,7 @@ yyreduce: case 325: /* Line 1455 of yacc.c */ -#line 1592 "hphp.y" +#line 1605 "hphp.y" { _p->onClassVariableStart ((yyval),NULL,(yyvsp[(1) - (2)]),NULL, true);;} break; @@ -9252,14 +9265,14 @@ yyreduce: case 326: /* Line 1455 of yacc.c */ -#line 1594 "hphp.y" +#line 1607 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 327: /* Line 1455 of yacc.c */ -#line 1597 "hphp.y" +#line 1610 "hphp.y" { _p->onNewLabelScope(true); _p->onMethodStart((yyvsp[(4) - (5)]), (yyvsp[(1) - (5)])); _p->pushLabelInfo();;} @@ -9268,7 +9281,7 @@ yyreduce: case 328: /* Line 1455 of yacc.c */ -#line 1603 "hphp.y" +#line 1616 "hphp.y" { _p->onMethod((yyval),(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr); _p->popLabelInfo(); _p->popTypeScope(); @@ -9278,7 +9291,7 @@ yyreduce: case 329: /* Line 1455 of yacc.c */ -#line 1611 "hphp.y" +#line 1624 "hphp.y" { _p->onNewLabelScope(true); _p->onMethodStart((yyvsp[(5) - (6)]), (yyvsp[(2) - (6)])); _p->pushLabelInfo();;} @@ -9287,7 +9300,7 @@ yyreduce: case 330: /* Line 1455 of yacc.c */ -#line 1617 "hphp.y" +#line 1630 "hphp.y" { _p->onMethod((yyval),(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)])); _p->popLabelInfo(); _p->popTypeScope(); @@ -9297,42 +9310,42 @@ yyreduce: case 331: /* Line 1455 of yacc.c */ -#line 1622 "hphp.y" +#line 1635 "hphp.y" { _p->xhpSetAttributes((yyvsp[(2) - (3)]));;} break; case 332: /* Line 1455 of yacc.c */ -#line 1624 "hphp.y" +#line 1637 "hphp.y" { xhp_category_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;} break; case 333: /* Line 1455 of yacc.c */ -#line 1626 "hphp.y" +#line 1639 "hphp.y" { xhp_children_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;} break; case 334: /* Line 1455 of yacc.c */ -#line 1628 "hphp.y" +#line 1641 "hphp.y" { _p->onClassRequire((yyval), (yyvsp[(3) - (4)]), true); ;} break; case 335: /* Line 1455 of yacc.c */ -#line 1630 "hphp.y" +#line 1643 "hphp.y" { _p->onClassRequire((yyval), (yyvsp[(3) - (4)]), false); ;} break; case 336: /* Line 1455 of yacc.c */ -#line 1631 "hphp.y" +#line 1644 "hphp.y" { Token t; t.reset(); _p->onTraitUse((yyval),(yyvsp[(2) - (3)]),t); ;} break; @@ -9340,42 +9353,42 @@ yyreduce: case 337: /* Line 1455 of yacc.c */ -#line 1634 "hphp.y" +#line 1647 "hphp.y" { _p->onTraitUse((yyval),(yyvsp[(2) - (5)]),(yyvsp[(4) - (5)])); ;} break; case 338: /* Line 1455 of yacc.c */ -#line 1637 "hphp.y" +#line 1650 "hphp.y" { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;} break; case 339: /* Line 1455 of yacc.c */ -#line 1638 "hphp.y" +#line 1651 "hphp.y" { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;} break; case 340: /* Line 1455 of yacc.c */ -#line 1639 "hphp.y" +#line 1652 "hphp.y" { (yyval).reset(); ;} break; case 341: /* Line 1455 of yacc.c */ -#line 1645 "hphp.y" +#line 1658 "hphp.y" { _p->onTraitPrecRule((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));;} break; case 342: /* Line 1455 of yacc.c */ -#line 1650 "hphp.y" +#line 1663 "hphp.y" { _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]));;} break; @@ -9383,7 +9396,7 @@ yyreduce: case 343: /* Line 1455 of yacc.c */ -#line 1653 "hphp.y" +#line 1666 "hphp.y" { Token t; t.reset(); _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]), t);;} @@ -9392,14 +9405,14 @@ yyreduce: case 344: /* Line 1455 of yacc.c */ -#line 1660 "hphp.y" +#line 1673 "hphp.y" { _p->onTraitAliasRuleStart((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 345: /* Line 1455 of yacc.c */ -#line 1661 "hphp.y" +#line 1674 "hphp.y" { Token t; t.reset(); _p->onTraitAliasRuleStart((yyval),t,(yyvsp[(1) - (1)]));;} break; @@ -9407,7 +9420,7 @@ yyreduce: case 346: /* Line 1455 of yacc.c */ -#line 1666 "hphp.y" +#line 1679 "hphp.y" { xhp_attribute_list(_p,(yyval), _p->xhpGetAttributes(),(yyvsp[(1) - (1)]));;} break; @@ -9415,14 +9428,14 @@ yyreduce: case 347: /* Line 1455 of yacc.c */ -#line 1669 "hphp.y" +#line 1682 "hphp.y" { xhp_attribute_list(_p,(yyval), &(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 348: /* Line 1455 of yacc.c */ -#line 1676 "hphp.y" +#line 1689 "hphp.y" { xhp_attribute(_p,(yyval),(yyvsp[(1) - (4)]),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)])); (yyval) = 1;;} break; @@ -9430,42 +9443,42 @@ yyreduce: case 349: /* Line 1455 of yacc.c */ -#line 1678 "hphp.y" +#line 1691 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;} break; case 350: /* Line 1455 of yacc.c */ -#line 1682 "hphp.y" +#line 1695 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 352: /* Line 1455 of yacc.c */ -#line 1687 "hphp.y" +#line 1700 "hphp.y" { (yyval) = 4;;} break; case 353: /* Line 1455 of yacc.c */ -#line 1689 "hphp.y" +#line 1702 "hphp.y" { (yyval) = 4;;} break; case 354: /* Line 1455 of yacc.c */ -#line 1691 "hphp.y" +#line 1704 "hphp.y" { (yyval) = 4;;} break; case 355: /* Line 1455 of yacc.c */ -#line 1692 "hphp.y" +#line 1705 "hphp.y" { /* This case handles all types other than "array", "var" and "enum". For now we just use type code 5; @@ -9477,77 +9490,77 @@ yyreduce: case 356: /* Line 1455 of yacc.c */ -#line 1698 "hphp.y" +#line 1711 "hphp.y" { (yyval) = 6;;} break; case 357: /* Line 1455 of yacc.c */ -#line 1700 "hphp.y" +#line 1713 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 7;;} break; case 358: /* Line 1455 of yacc.c */ -#line 1701 "hphp.y" +#line 1714 "hphp.y" { (yyval) = 9; ;} break; case 359: /* Line 1455 of yacc.c */ -#line 1705 "hphp.y" +#line 1718 "hphp.y" { _p->onArrayPair((yyval), 0,0,(yyvsp[(1) - (1)]),0);;} break; case 360: /* Line 1455 of yacc.c */ -#line 1707 "hphp.y" +#line 1720 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),0,(yyvsp[(3) - (3)]),0);;} break; case 361: /* Line 1455 of yacc.c */ -#line 1712 "hphp.y" +#line 1725 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 362: /* Line 1455 of yacc.c */ -#line 1715 "hphp.y" +#line 1728 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 363: /* Line 1455 of yacc.c */ -#line 1716 "hphp.y" +#line 1729 "hphp.y" { scalar_null(_p, (yyval));;} break; case 364: /* Line 1455 of yacc.c */ -#line 1720 "hphp.y" +#line 1733 "hphp.y" { scalar_num(_p, (yyval), "1");;} break; case 365: /* Line 1455 of yacc.c */ -#line 1721 "hphp.y" +#line 1734 "hphp.y" { scalar_num(_p, (yyval), "0");;} break; case 366: /* Line 1455 of yacc.c */ -#line 1725 "hphp.y" +#line 1738 "hphp.y" { Token t; scalar_num(_p, t, "1"); _p->onArrayPair((yyval),0,&(yyvsp[(1) - (1)]),t,0);;} break; @@ -9555,7 +9568,7 @@ yyreduce: case 367: /* Line 1455 of yacc.c */ -#line 1728 "hphp.y" +#line 1741 "hphp.y" { Token t; scalar_num(_p, t, "1"); _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]),t,0);;} break; @@ -9563,7 +9576,7 @@ yyreduce: case 368: /* Line 1455 of yacc.c */ -#line 1733 "hphp.y" +#line 1746 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; @@ -9571,14 +9584,14 @@ yyreduce: case 369: /* Line 1455 of yacc.c */ -#line 1738 "hphp.y" +#line 1751 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 2;;} break; case 370: /* Line 1455 of yacc.c */ -#line 1739 "hphp.y" +#line 1752 "hphp.y" { (yyval) = -1; if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1;;} break; @@ -9586,91 +9599,91 @@ yyreduce: case 371: /* Line 1455 of yacc.c */ -#line 1741 "hphp.y" +#line 1754 "hphp.y" { (yyval) = 0;;} break; case 372: /* Line 1455 of yacc.c */ -#line 1745 "hphp.y" +#line 1758 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (3)]), 0);;} break; case 373: /* Line 1455 of yacc.c */ -#line 1746 "hphp.y" +#line 1759 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 1);;} break; case 374: /* Line 1455 of yacc.c */ -#line 1747 "hphp.y" +#line 1760 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 2);;} break; case 375: /* Line 1455 of yacc.c */ -#line 1748 "hphp.y" +#line 1761 "hphp.y" { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 3);;} break; case 376: /* Line 1455 of yacc.c */ -#line 1752 "hphp.y" +#line 1765 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 377: /* Line 1455 of yacc.c */ -#line 1753 "hphp.y" +#line 1766 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (1)]),0, 0);;} break; case 378: /* Line 1455 of yacc.c */ -#line 1754 "hphp.y" +#line 1767 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),1, 0);;} break; case 379: /* Line 1455 of yacc.c */ -#line 1755 "hphp.y" +#line 1768 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),2, 0);;} break; case 380: /* Line 1455 of yacc.c */ -#line 1756 "hphp.y" +#line 1769 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),3, 0);;} break; case 381: /* Line 1455 of yacc.c */ -#line 1758 "hphp.y" +#line 1771 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),4,&(yyvsp[(3) - (3)]));;} break; case 382: /* Line 1455 of yacc.c */ -#line 1760 "hphp.y" +#line 1773 "hphp.y" { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),5,&(yyvsp[(3) - (3)]));;} break; case 383: /* Line 1455 of yacc.c */ -#line 1764 "hphp.y" +#line 1777 "hphp.y" { (yyval) = -1; if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1; else if ((yyvsp[(1) - (1)]).same("pcdata")) (yyval) = 2;;} @@ -9679,231 +9692,231 @@ yyreduce: case 384: /* Line 1455 of yacc.c */ -#line 1767 "hphp.y" +#line 1780 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 3;;} break; case 385: /* Line 1455 of yacc.c */ -#line 1768 "hphp.y" +#line 1781 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(0); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 4;;} break; case 386: /* Line 1455 of yacc.c */ -#line 1772 "hphp.y" +#line 1785 "hphp.y" { (yyval).reset();;} break; case 387: /* Line 1455 of yacc.c */ -#line 1773 "hphp.y" +#line 1786 "hphp.y" { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;} break; case 388: /* Line 1455 of yacc.c */ -#line 1777 "hphp.y" +#line 1790 "hphp.y" { (yyval).reset();;} break; case 389: /* Line 1455 of yacc.c */ -#line 1778 "hphp.y" +#line 1791 "hphp.y" { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;} break; case 390: /* Line 1455 of yacc.c */ -#line 1781 "hphp.y" +#line 1794 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 391: /* Line 1455 of yacc.c */ -#line 1782 "hphp.y" +#line 1795 "hphp.y" { (yyval).reset();;} break; case 392: /* Line 1455 of yacc.c */ -#line 1785 "hphp.y" +#line 1798 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 393: /* Line 1455 of yacc.c */ -#line 1786 "hphp.y" +#line 1799 "hphp.y" { (yyval).reset();;} break; case 394: /* Line 1455 of yacc.c */ -#line 1789 "hphp.y" +#line 1802 "hphp.y" { _p->onMemberModifier((yyval),NULL,(yyvsp[(1) - (1)]));;} break; case 395: /* Line 1455 of yacc.c */ -#line 1791 "hphp.y" +#line 1804 "hphp.y" { _p->onMemberModifier((yyval),&(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 396: /* Line 1455 of yacc.c */ -#line 1794 "hphp.y" +#line 1807 "hphp.y" { (yyval) = T_PUBLIC;;} break; case 397: /* Line 1455 of yacc.c */ -#line 1795 "hphp.y" +#line 1808 "hphp.y" { (yyval) = T_PROTECTED;;} break; case 398: /* Line 1455 of yacc.c */ -#line 1796 "hphp.y" +#line 1809 "hphp.y" { (yyval) = T_PRIVATE;;} break; case 399: /* Line 1455 of yacc.c */ -#line 1797 "hphp.y" +#line 1810 "hphp.y" { (yyval) = T_STATIC;;} break; case 400: /* Line 1455 of yacc.c */ -#line 1798 "hphp.y" +#line 1811 "hphp.y" { (yyval) = T_ABSTRACT;;} break; case 401: /* Line 1455 of yacc.c */ -#line 1799 "hphp.y" +#line 1812 "hphp.y" { (yyval) = T_FINAL;;} break; case 402: /* Line 1455 of yacc.c */ -#line 1800 "hphp.y" +#line 1813 "hphp.y" { (yyval) = T_ASYNC;;} break; case 403: /* Line 1455 of yacc.c */ -#line 1804 "hphp.y" +#line 1817 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 404: /* Line 1455 of yacc.c */ -#line 1805 "hphp.y" +#line 1818 "hphp.y" { (yyval).reset();;} break; case 405: /* Line 1455 of yacc.c */ -#line 1808 "hphp.y" +#line 1821 "hphp.y" { (yyval) = T_PUBLIC;;} break; case 406: /* Line 1455 of yacc.c */ -#line 1809 "hphp.y" +#line 1822 "hphp.y" { (yyval) = T_PROTECTED;;} break; case 407: /* Line 1455 of yacc.c */ -#line 1810 "hphp.y" +#line 1823 "hphp.y" { (yyval) = T_PRIVATE;;} break; case 408: /* Line 1455 of yacc.c */ -#line 1814 "hphp.y" +#line 1827 "hphp.y" { _p->onClassVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 409: /* Line 1455 of yacc.c */ -#line 1816 "hphp.y" +#line 1829 "hphp.y" { _p->onClassVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;} break; case 410: /* Line 1455 of yacc.c */ -#line 1817 "hphp.y" +#line 1830 "hphp.y" { _p->onClassVariable((yyval),0,(yyvsp[(1) - (1)]),0);;} break; case 411: /* Line 1455 of yacc.c */ -#line 1818 "hphp.y" +#line 1831 "hphp.y" { _p->onClassVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} break; case 412: /* Line 1455 of yacc.c */ -#line 1822 "hphp.y" +#line 1835 "hphp.y" { _p->onClassConstant((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 413: /* Line 1455 of yacc.c */ -#line 1824 "hphp.y" +#line 1837 "hphp.y" { _p->onClassConstant((yyval),0,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} break; case 414: /* Line 1455 of yacc.c */ -#line 1828 "hphp.y" +#line 1841 "hphp.y" { _p->onClassAbstractConstant((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 415: /* Line 1455 of yacc.c */ -#line 1830 "hphp.y" +#line 1843 "hphp.y" { _p->onClassAbstractConstant((yyval),NULL,(yyvsp[(3) - (3)]));;} break; case 416: /* Line 1455 of yacc.c */ -#line 1834 "hphp.y" +#line 1847 "hphp.y" { Token t; _p->onClassTypeConstant((yyval), (yyvsp[(2) - (3)]), t); _p->popTypeScope(); ;} @@ -9912,7 +9925,7 @@ yyreduce: case 417: /* Line 1455 of yacc.c */ -#line 1838 "hphp.y" +#line 1851 "hphp.y" { _p->onClassTypeConstant((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)])); _p->popTypeScope(); ;} break; @@ -9920,532 +9933,532 @@ yyreduce: case 418: /* Line 1455 of yacc.c */ -#line 1842 "hphp.y" +#line 1855 "hphp.y" { (yyval) = (yyvsp[(3) - (3)]); ;} break; case 419: /* Line 1455 of yacc.c */ -#line 1846 "hphp.y" +#line 1859 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 420: /* Line 1455 of yacc.c */ -#line 1848 "hphp.y" +#line 1861 "hphp.y" { _p->onNewObject((yyval), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));;} break; case 421: /* Line 1455 of yacc.c */ -#line 1849 "hphp.y" +#line 1862 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]);;} break; case 422: /* Line 1455 of yacc.c */ -#line 1850 "hphp.y" +#line 1863 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_CLONE,1);;} break; case 423: /* Line 1455 of yacc.c */ -#line 1851 "hphp.y" +#line 1864 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 424: /* Line 1455 of yacc.c */ -#line 1852 "hphp.y" +#line 1865 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 425: /* Line 1455 of yacc.c */ -#line 1855 "hphp.y" +#line 1868 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 426: /* Line 1455 of yacc.c */ -#line 1859 "hphp.y" +#line 1872 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 427: /* Line 1455 of yacc.c */ -#line 1860 "hphp.y" +#line 1873 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 428: /* Line 1455 of yacc.c */ -#line 1864 "hphp.y" +#line 1877 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 429: /* Line 1455 of yacc.c */ -#line 1865 "hphp.y" +#line 1878 "hphp.y" { (yyval).reset();;} break; case 430: /* Line 1455 of yacc.c */ -#line 1869 "hphp.y" +#line 1882 "hphp.y" { _p->onYield((yyval), NULL);;} break; case 431: /* Line 1455 of yacc.c */ -#line 1870 "hphp.y" +#line 1883 "hphp.y" { _p->onYield((yyval), &(yyvsp[(2) - (2)]));;} break; case 432: /* Line 1455 of yacc.c */ -#line 1871 "hphp.y" +#line 1884 "hphp.y" { _p->onYieldPair((yyval), &(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]));;} break; case 433: /* Line 1455 of yacc.c */ -#line 1872 "hphp.y" +#line 1885 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); ;} break; case 434: /* Line 1455 of yacc.c */ -#line 1876 "hphp.y" +#line 1889 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;} break; case 435: /* Line 1455 of yacc.c */ -#line 1881 "hphp.y" +#line 1894 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;} break; case 436: /* Line 1455 of yacc.c */ -#line 1885 "hphp.y" +#line 1898 "hphp.y" { _p->onYieldFrom((yyval),&(yyvsp[(2) - (2)]));;} break; case 437: /* Line 1455 of yacc.c */ -#line 1889 "hphp.y" +#line 1902 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;} break; case 438: /* Line 1455 of yacc.c */ -#line 1893 "hphp.y" +#line 1906 "hphp.y" { _p->onAwait((yyval), (yyvsp[(2) - (2)])); ;} break; case 439: /* Line 1455 of yacc.c */ -#line 1897 "hphp.y" +#line 1910 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;} break; case 440: /* Line 1455 of yacc.c */ -#line 1902 "hphp.y" +#line 1915 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;} break; case 441: /* Line 1455 of yacc.c */ -#line 1906 "hphp.y" +#line 1919 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 442: /* Line 1455 of yacc.c */ -#line 1907 "hphp.y" +#line 1920 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 443: /* Line 1455 of yacc.c */ -#line 1908 "hphp.y" +#line 1921 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 444: /* Line 1455 of yacc.c */ -#line 1909 "hphp.y" +#line 1922 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 445: /* Line 1455 of yacc.c */ -#line 1910 "hphp.y" +#line 1923 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 446: /* Line 1455 of yacc.c */ -#line 1915 "hphp.y" +#line 1928 "hphp.y" { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]));;} break; case 447: /* Line 1455 of yacc.c */ -#line 1916 "hphp.y" +#line 1929 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} break; case 448: /* Line 1455 of yacc.c */ -#line 1917 "hphp.y" +#line 1930 "hphp.y" { _p->onAssign((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)]), 1);;} break; case 449: /* Line 1455 of yacc.c */ -#line 1920 "hphp.y" +#line 1933 "hphp.y" { _p->onAssignNew((yyval),(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]));;} break; case 450: /* Line 1455 of yacc.c */ -#line 1921 "hphp.y" +#line 1934 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PLUS_EQUAL);;} break; case 451: /* Line 1455 of yacc.c */ -#line 1922 "hphp.y" +#line 1935 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MINUS_EQUAL);;} break; case 452: /* Line 1455 of yacc.c */ -#line 1923 "hphp.y" +#line 1936 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MUL_EQUAL);;} break; case 453: /* Line 1455 of yacc.c */ -#line 1924 "hphp.y" +#line 1937 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_DIV_EQUAL);;} break; case 454: /* Line 1455 of yacc.c */ -#line 1925 "hphp.y" +#line 1938 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_CONCAT_EQUAL);;} break; case 455: /* Line 1455 of yacc.c */ -#line 1926 "hphp.y" +#line 1939 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MOD_EQUAL);;} break; case 456: /* Line 1455 of yacc.c */ -#line 1927 "hphp.y" +#line 1940 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_AND_EQUAL);;} break; case 457: /* Line 1455 of yacc.c */ -#line 1928 "hphp.y" +#line 1941 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_OR_EQUAL);;} break; case 458: /* Line 1455 of yacc.c */ -#line 1929 "hphp.y" +#line 1942 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_XOR_EQUAL);;} break; case 459: /* Line 1455 of yacc.c */ -#line 1930 "hphp.y" +#line 1943 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL_EQUAL);;} break; case 460: /* Line 1455 of yacc.c */ -#line 1931 "hphp.y" +#line 1944 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR_EQUAL);;} break; case 461: /* Line 1455 of yacc.c */ -#line 1932 "hphp.y" +#line 1945 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW_EQUAL);;} break; case 462: /* Line 1455 of yacc.c */ -#line 1933 "hphp.y" +#line 1946 "hphp.y" { UEXP((yyval),(yyvsp[(1) - (2)]),T_INC,0);;} break; case 463: /* Line 1455 of yacc.c */ -#line 1934 "hphp.y" +#line 1947 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INC,1);;} break; case 464: /* Line 1455 of yacc.c */ -#line 1935 "hphp.y" +#line 1948 "hphp.y" { UEXP((yyval),(yyvsp[(1) - (2)]),T_DEC,0);;} break; case 465: /* Line 1455 of yacc.c */ -#line 1936 "hphp.y" +#line 1949 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_DEC,1);;} break; case 466: /* Line 1455 of yacc.c */ -#line 1937 "hphp.y" +#line 1950 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);;} break; case 467: /* Line 1455 of yacc.c */ -#line 1938 "hphp.y" +#line 1951 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);;} break; case 468: /* Line 1455 of yacc.c */ -#line 1939 "hphp.y" +#line 1952 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);;} break; case 469: /* Line 1455 of yacc.c */ -#line 1940 "hphp.y" +#line 1953 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);;} break; case 470: /* Line 1455 of yacc.c */ -#line 1941 "hphp.y" +#line 1954 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);;} break; case 471: /* Line 1455 of yacc.c */ -#line 1942 "hphp.y" +#line 1955 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');;} break; case 472: /* Line 1455 of yacc.c */ -#line 1943 "hphp.y" +#line 1956 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');;} break; case 473: /* Line 1455 of yacc.c */ -#line 1944 "hphp.y" +#line 1957 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');;} break; case 474: /* Line 1455 of yacc.c */ -#line 1945 "hphp.y" +#line 1958 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');;} break; case 475: /* Line 1455 of yacc.c */ -#line 1946 "hphp.y" +#line 1959 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');;} break; case 476: /* Line 1455 of yacc.c */ -#line 1947 "hphp.y" +#line 1960 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');;} break; case 477: /* Line 1455 of yacc.c */ -#line 1948 "hphp.y" +#line 1961 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');;} break; case 478: /* Line 1455 of yacc.c */ -#line 1949 "hphp.y" +#line 1962 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');;} break; case 479: /* Line 1455 of yacc.c */ -#line 1950 "hphp.y" +#line 1963 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW);;} break; case 480: /* Line 1455 of yacc.c */ -#line 1951 "hphp.y" +#line 1964 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');;} break; case 481: /* Line 1455 of yacc.c */ -#line 1952 "hphp.y" +#line 1965 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PIPE);;} break; case 482: /* Line 1455 of yacc.c */ -#line 1953 "hphp.y" +#line 1966 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);;} break; case 483: /* Line 1455 of yacc.c */ -#line 1954 "hphp.y" +#line 1967 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);;} break; case 484: /* Line 1455 of yacc.c */ -#line 1955 "hphp.y" +#line 1968 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 485: /* Line 1455 of yacc.c */ -#line 1956 "hphp.y" +#line 1969 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 486: /* Line 1455 of yacc.c */ -#line 1957 "hphp.y" +#line 1970 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);;} break; case 487: /* Line 1455 of yacc.c */ -#line 1958 "hphp.y" +#line 1971 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);;} break; case 488: /* Line 1455 of yacc.c */ -#line 1959 "hphp.y" +#line 1972 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);;} break; case 489: /* Line 1455 of yacc.c */ -#line 1960 "hphp.y" +#line 1973 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);;} break; case 490: /* Line 1455 of yacc.c */ -#line 1961 "hphp.y" +#line 1974 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);;} break; case 491: /* Line 1455 of yacc.c */ -#line 1962 "hphp.y" +#line 1975 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);;} break; case 492: /* Line 1455 of yacc.c */ -#line 1963 "hphp.y" +#line 1976 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');;} break; case 493: /* Line 1455 of yacc.c */ -#line 1964 "hphp.y" +#line 1977 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_SMALLER_OR_EQUAL);;} break; @@ -10453,14 +10466,14 @@ yyreduce: case 494: /* Line 1455 of yacc.c */ -#line 1966 "hphp.y" +#line 1979 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');;} break; case 495: /* Line 1455 of yacc.c */ -#line 1967 "hphp.y" +#line 1980 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_GREATER_OR_EQUAL);;} break; @@ -10468,196 +10481,196 @@ yyreduce: case 496: /* Line 1455 of yacc.c */ -#line 1969 "hphp.y" +#line 1982 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SPACESHIP);;} break; case 497: /* Line 1455 of yacc.c */ -#line 1971 "hphp.y" +#line 1984 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_INSTANCEOF);;} break; case 498: /* Line 1455 of yacc.c */ -#line 1972 "hphp.y" +#line 1985 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 499: /* Line 1455 of yacc.c */ -#line 1973 "hphp.y" +#line 1986 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));;} break; case 500: /* Line 1455 of yacc.c */ -#line 1974 "hphp.y" +#line 1987 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));;} break; case 501: /* Line 1455 of yacc.c */ -#line 1975 "hphp.y" +#line 1988 "hphp.y" { _p->onNullCoalesce((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 502: /* Line 1455 of yacc.c */ -#line 1976 "hphp.y" +#line 1989 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 503: /* Line 1455 of yacc.c */ -#line 1977 "hphp.y" +#line 1990 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INT_CAST,1);;} break; case 504: /* Line 1455 of yacc.c */ -#line 1978 "hphp.y" +#line 1991 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_DOUBLE_CAST,1);;} break; case 505: /* Line 1455 of yacc.c */ -#line 1979 "hphp.y" +#line 1992 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_STRING_CAST,1);;} break; case 506: /* Line 1455 of yacc.c */ -#line 1980 "hphp.y" +#line 1993 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_ARRAY_CAST,1);;} break; case 507: /* Line 1455 of yacc.c */ -#line 1981 "hphp.y" +#line 1994 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_OBJECT_CAST,1);;} break; case 508: /* Line 1455 of yacc.c */ -#line 1982 "hphp.y" +#line 1995 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_BOOL_CAST,1);;} break; case 509: /* Line 1455 of yacc.c */ -#line 1983 "hphp.y" +#line 1996 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_UNSET_CAST,1);;} break; case 510: /* Line 1455 of yacc.c */ -#line 1984 "hphp.y" +#line 1997 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_EXIT,1);;} break; case 511: /* Line 1455 of yacc.c */ -#line 1985 "hphp.y" +#line 1998 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'@',1);;} break; case 512: /* Line 1455 of yacc.c */ -#line 1986 "hphp.y" +#line 1999 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 513: /* Line 1455 of yacc.c */ -#line 1987 "hphp.y" +#line 2000 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 514: /* Line 1455 of yacc.c */ -#line 1988 "hphp.y" +#line 2001 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 515: /* Line 1455 of yacc.c */ -#line 1989 "hphp.y" +#line 2002 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 516: /* Line 1455 of yacc.c */ -#line 1990 "hphp.y" +#line 2003 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 517: /* Line 1455 of yacc.c */ -#line 1991 "hphp.y" +#line 2004 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 518: /* Line 1455 of yacc.c */ -#line 1992 "hphp.y" +#line 2005 "hphp.y" { _p->onEncapsList((yyval),'`',(yyvsp[(2) - (3)]));;} break; case 519: /* Line 1455 of yacc.c */ -#line 1993 "hphp.y" +#line 2006 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_PRINT,1);;} break; case 520: /* Line 1455 of yacc.c */ -#line 1994 "hphp.y" +#line 2007 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 521: /* Line 1455 of yacc.c */ -#line 2001 "hphp.y" +#line 2014 "hphp.y" { (yyval) = (yyvsp[(3) - (5)]);;} break; case 522: /* Line 1455 of yacc.c */ -#line 2002 "hphp.y" +#line 2015 "hphp.y" { (yyval).reset();;} break; case 523: /* Line 1455 of yacc.c */ -#line 2007 "hphp.y" +#line 2020 "hphp.y" { Token t; _p->onNewLabelScope(true); _p->onClosureStart(t); @@ -10667,7 +10680,7 @@ yyreduce: case 524: /* Line 1455 of yacc.c */ -#line 2013 "hphp.y" +#line 2026 "hphp.y" { _p->finishStatement((yyvsp[(11) - (12)]), (yyvsp[(11) - (12)])); (yyvsp[(11) - (12)]) = 1; (yyval) = _p->onClosure( ClosureType::Long, nullptr, @@ -10679,7 +10692,7 @@ yyreduce: case 525: /* Line 1455 of yacc.c */ -#line 2021 "hphp.y" +#line 2034 "hphp.y" { Token t; _p->onNewLabelScope(true); _p->onClosureStart(t); @@ -10689,7 +10702,7 @@ yyreduce: case 526: /* Line 1455 of yacc.c */ -#line 2027 "hphp.y" +#line 2040 "hphp.y" { _p->finishStatement((yyvsp[(12) - (13)]), (yyvsp[(12) - (13)])); (yyvsp[(12) - (13)]) = 1; (yyval) = _p->onClosure( ClosureType::Long, &(yyvsp[(1) - (13)]), @@ -10701,7 +10714,7 @@ yyreduce: case 527: /* Line 1455 of yacc.c */ -#line 2037 "hphp.y" +#line 2050 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10715,7 +10728,7 @@ yyreduce: case 528: /* Line 1455 of yacc.c */ -#line 2045 "hphp.y" +#line 2058 "hphp.y" { Token v; Token w; Token x; (yyvsp[(1) - (4)]) = T_ASYNC; _p->onMemberModifier((yyvsp[(1) - (4)]), nullptr, (yyvsp[(1) - (4)])); @@ -10730,7 +10743,7 @@ yyreduce: case 529: /* Line 1455 of yacc.c */ -#line 2055 "hphp.y" +#line 2068 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10741,7 +10754,7 @@ yyreduce: case 530: /* Line 1455 of yacc.c */ -#line 2063 "hphp.y" +#line 2076 "hphp.y" { Token u; Token v; (yyvsp[(1) - (7)]) = T_ASYNC; _p->onMemberModifier((yyvsp[(1) - (7)]), nullptr, (yyvsp[(1) - (7)])); @@ -10756,7 +10769,7 @@ yyreduce: case 531: /* Line 1455 of yacc.c */ -#line 2073 "hphp.y" +#line 2086 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10767,7 +10780,7 @@ yyreduce: case 532: /* Line 1455 of yacc.c */ -#line 2079 "hphp.y" +#line 2092 "hphp.y" { Token u; Token v; Token w; Token x; Token y; (yyvsp[(1) - (5)]) = T_ASYNC; @@ -10784,7 +10797,7 @@ yyreduce: case 533: /* Line 1455 of yacc.c */ -#line 2090 "hphp.y" +#line 2103 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10798,7 +10811,7 @@ yyreduce: case 534: /* Line 1455 of yacc.c */ -#line 2098 "hphp.y" +#line 2111 "hphp.y" { Token v; Token w; Token x; _p->finishStatement((yyvsp[(3) - (3)]), (yyvsp[(3) - (3)])); (yyvsp[(3) - (3)]) = 1; (yyval) = _p->onClosure(ClosureType::Short, @@ -10811,7 +10824,7 @@ yyreduce: case 535: /* Line 1455 of yacc.c */ -#line 2105 "hphp.y" +#line 2118 "hphp.y" { _p->pushFuncLocation(); Token t; _p->onNewLabelScope(true); @@ -10822,7 +10835,7 @@ yyreduce: case 536: /* Line 1455 of yacc.c */ -#line 2113 "hphp.y" +#line 2126 "hphp.y" { Token u; Token v; _p->finishStatement((yyvsp[(6) - (6)]), (yyvsp[(6) - (6)])); (yyvsp[(6) - (6)]) = 1; (yyval) = _p->onClosure(ClosureType::Short, @@ -10835,28 +10848,28 @@ yyreduce: case 537: /* Line 1455 of yacc.c */ -#line 2123 "hphp.y" +#line 2136 "hphp.y" { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));;} break; case 538: /* Line 1455 of yacc.c */ -#line 2124 "hphp.y" +#line 2137 "hphp.y" { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));;} break; case 539: /* Line 1455 of yacc.c */ -#line 2126 "hphp.y" +#line 2139 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); ;} break; case 540: /* Line 1455 of yacc.c */ -#line 2130 "hphp.y" +#line 2143 "hphp.y" { validate_shape_keyname((yyvsp[(1) - (1)]), _p); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); ;} break; @@ -10864,294 +10877,294 @@ yyreduce: case 541: /* Line 1455 of yacc.c */ -#line 2132 "hphp.y" +#line 2145 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 542: /* Line 1455 of yacc.c */ -#line 2139 "hphp.y" +#line 2152 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} break; case 543: /* Line 1455 of yacc.c */ -#line 2142 "hphp.y" +#line 2155 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} break; case 544: /* Line 1455 of yacc.c */ -#line 2149 "hphp.y" +#line 2162 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} break; case 545: /* Line 1455 of yacc.c */ -#line 2152 "hphp.y" +#line 2165 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} break; case 546: /* Line 1455 of yacc.c */ -#line 2157 "hphp.y" +#line 2170 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 547: /* Line 1455 of yacc.c */ -#line 2158 "hphp.y" +#line 2171 "hphp.y" { (yyval).reset(); ;} break; case 548: /* Line 1455 of yacc.c */ -#line 2163 "hphp.y" +#line 2176 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 549: /* Line 1455 of yacc.c */ -#line 2164 "hphp.y" +#line 2177 "hphp.y" { (yyval).reset(); ;} break; case 550: /* Line 1455 of yacc.c */ -#line 2168 "hphp.y" +#line 2181 "hphp.y" { _p->onArray((yyval), (yyvsp[(3) - (4)]), T_ARRAY);;} break; case 551: /* Line 1455 of yacc.c */ -#line 2172 "hphp.y" +#line 2185 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;} break; case 552: /* Line 1455 of yacc.c */ -#line 2173 "hphp.y" +#line 2186 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 553: /* Line 1455 of yacc.c */ -#line 2178 "hphp.y" +#line 2191 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 554: /* Line 1455 of yacc.c */ -#line 2179 "hphp.y" +#line 2192 "hphp.y" { (yyval).reset();;} break; case 555: /* Line 1455 of yacc.c */ -#line 2184 "hphp.y" +#line 2197 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 556: /* Line 1455 of yacc.c */ -#line 2185 "hphp.y" +#line 2198 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 557: /* Line 1455 of yacc.c */ -#line 2188 "hphp.y" +#line 2201 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;} break; case 558: /* Line 1455 of yacc.c */ -#line 2189 "hphp.y" +#line 2202 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} break; case 559: /* Line 1455 of yacc.c */ -#line 2194 "hphp.y" +#line 2207 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 560: /* Line 1455 of yacc.c */ -#line 2195 "hphp.y" +#line 2208 "hphp.y" { (yyval).reset();;} break; case 561: /* Line 1455 of yacc.c */ -#line 2201 "hphp.y" +#line 2214 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 562: /* Line 1455 of yacc.c */ -#line 2203 "hphp.y" +#line 2216 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 563: /* Line 1455 of yacc.c */ -#line 2208 "hphp.y" +#line 2221 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 564: /* Line 1455 of yacc.c */ -#line 2209 "hphp.y" +#line 2222 "hphp.y" { (yyval).reset();;} break; case 565: /* Line 1455 of yacc.c */ -#line 2215 "hphp.y" +#line 2228 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 566: /* Line 1455 of yacc.c */ -#line 2217 "hphp.y" +#line 2230 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 567: /* Line 1455 of yacc.c */ -#line 2221 "hphp.y" +#line 2234 "hphp.y" { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;} break; case 568: /* Line 1455 of yacc.c */ -#line 2225 "hphp.y" +#line 2238 "hphp.y" { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;} break; case 569: /* Line 1455 of yacc.c */ -#line 2229 "hphp.y" +#line 2242 "hphp.y" { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;} break; case 570: /* Line 1455 of yacc.c */ -#line 2233 "hphp.y" +#line 2246 "hphp.y" { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;} break; case 571: /* Line 1455 of yacc.c */ -#line 2237 "hphp.y" +#line 2250 "hphp.y" { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;} break; case 572: /* Line 1455 of yacc.c */ -#line 2241 "hphp.y" +#line 2254 "hphp.y" { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;} break; case 573: /* Line 1455 of yacc.c */ -#line 2245 "hphp.y" +#line 2258 "hphp.y" { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;} break; case 574: /* Line 1455 of yacc.c */ -#line 2249 "hphp.y" +#line 2262 "hphp.y" { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;} break; case 575: /* Line 1455 of yacc.c */ -#line 2253 "hphp.y" +#line 2266 "hphp.y" { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;} break; case 576: /* Line 1455 of yacc.c */ -#line 2258 "hphp.y" +#line 2271 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 577: /* Line 1455 of yacc.c */ -#line 2259 "hphp.y" +#line 2272 "hphp.y" { (yyval).reset();;} break; case 578: /* Line 1455 of yacc.c */ -#line 2264 "hphp.y" +#line 2277 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 579: /* Line 1455 of yacc.c */ -#line 2265 "hphp.y" +#line 2278 "hphp.y" { (yyval).reset();;} break; case 580: /* Line 1455 of yacc.c */ -#line 2270 "hphp.y" +#line 2283 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 581: /* Line 1455 of yacc.c */ -#line 2271 "hphp.y" +#line 2284 "hphp.y" { (yyval).reset();;} break; case 582: /* Line 1455 of yacc.c */ -#line 2276 "hphp.y" +#line 2289 "hphp.y" { Token t; _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName); BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;} @@ -11160,7 +11173,7 @@ yyreduce: case 583: /* Line 1455 of yacc.c */ -#line 2283 "hphp.y" +#line 2296 "hphp.y" { Token t; _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName); BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;} @@ -11169,63 +11182,63 @@ yyreduce: case 584: /* Line 1455 of yacc.c */ -#line 2290 "hphp.y" +#line 2303 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 585: /* Line 1455 of yacc.c */ -#line 2292 "hphp.y" +#line 2305 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 586: /* Line 1455 of yacc.c */ -#line 2296 "hphp.y" +#line 2309 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 587: /* Line 1455 of yacc.c */ -#line 2297 "hphp.y" +#line 2310 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 588: /* Line 1455 of yacc.c */ -#line 2298 "hphp.y" +#line 2311 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 589: /* Line 1455 of yacc.c */ -#line 2299 "hphp.y" +#line 2312 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 590: /* Line 1455 of yacc.c */ -#line 2300 "hphp.y" +#line 2313 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 591: /* Line 1455 of yacc.c */ -#line 2301 "hphp.y" +#line 2314 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 592: /* Line 1455 of yacc.c */ -#line 2302 "hphp.y" +#line 2315 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); ;} break; @@ -11233,56 +11246,56 @@ yyreduce: case 593: /* Line 1455 of yacc.c */ -#line 2304 "hphp.y" +#line 2317 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 594: /* Line 1455 of yacc.c */ -#line 2305 "hphp.y" +#line 2318 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 595: /* Line 1455 of yacc.c */ -#line 2309 "hphp.y" +#line 2322 "hphp.y" { _p->onClosureParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 596: /* Line 1455 of yacc.c */ -#line 2310 "hphp.y" +#line 2323 "hphp.y" { _p->onClosureParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} break; case 597: /* Line 1455 of yacc.c */ -#line 2311 "hphp.y" +#line 2324 "hphp.y" { _p->onClosureParam((yyval), 0,(yyvsp[(1) - (1)]),0);;} break; case 598: /* Line 1455 of yacc.c */ -#line 2312 "hphp.y" +#line 2325 "hphp.y" { _p->onClosureParam((yyval), 0,(yyvsp[(2) - (2)]),1);;} break; case 599: /* Line 1455 of yacc.c */ -#line 2319 "hphp.y" +#line 2332 "hphp.y" { xhp_tag(_p,(yyval),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]));;} break; case 600: /* Line 1455 of yacc.c */ -#line 2322 "hphp.y" +#line 2335 "hphp.y" { Token t1; _p->onArray(t1,(yyvsp[(1) - (2)])); Token t2; _p->onArray(t2,(yyvsp[(2) - (2)])); Token file; scalar_file(_p, file); @@ -11297,7 +11310,7 @@ yyreduce: case 601: /* Line 1455 of yacc.c */ -#line 2333 "hphp.y" +#line 2346 "hphp.y" { Token file; scalar_file(_p, file); Token line; scalar_line(_p, line); _p->onArray((yyvsp[(4) - (6)]),(yyvsp[(1) - (6)])); @@ -11312,49 +11325,49 @@ yyreduce: case 602: /* Line 1455 of yacc.c */ -#line 2344 "hphp.y" +#line 2357 "hphp.y" { (yyval).reset(); (yyval).setText("");;} break; case 603: /* Line 1455 of yacc.c */ -#line 2345 "hphp.y" +#line 2358 "hphp.y" { (yyval).reset(); (yyval).setText((yyvsp[(1) - (1)]));;} break; case 604: /* Line 1455 of yacc.c */ -#line 2350 "hphp.y" +#line 2363 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),0);;} break; case 605: /* Line 1455 of yacc.c */ -#line 2351 "hphp.y" +#line 2364 "hphp.y" { (yyval).reset();;} break; case 606: /* Line 1455 of yacc.c */ -#line 2354 "hphp.y" +#line 2367 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (2)]),0,(yyvsp[(2) - (2)]),0);;} break; case 607: /* Line 1455 of yacc.c */ -#line 2355 "hphp.y" +#line 2368 "hphp.y" { (yyval).reset();;} break; case 608: /* Line 1455 of yacc.c */ -#line 2358 "hphp.y" +#line 2371 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; @@ -11362,7 +11375,7 @@ yyreduce: case 609: /* Line 1455 of yacc.c */ -#line 2362 "hphp.y" +#line 2375 "hphp.y" { (yyvsp[(1) - (1)]).xhpDecode(); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} @@ -11371,14 +11384,14 @@ yyreduce: case 610: /* Line 1455 of yacc.c */ -#line 2365 "hphp.y" +#line 2378 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 611: /* Line 1455 of yacc.c */ -#line 2368 "hphp.y" +#line 2381 "hphp.y" { (yyval).reset(); if ((yyvsp[(1) - (1)]).htmlTrim()) { (yyvsp[(1) - (1)]).xhpDecode(); @@ -11391,651 +11404,651 @@ yyreduce: case 612: /* Line 1455 of yacc.c */ -#line 2375 "hphp.y" +#line 2388 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); ;} break; case 613: /* Line 1455 of yacc.c */ -#line 2376 "hphp.y" +#line 2389 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 614: /* Line 1455 of yacc.c */ -#line 2380 "hphp.y" +#line 2393 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 615: /* Line 1455 of yacc.c */ -#line 2382 "hphp.y" +#line 2395 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]) + ":" + (yyvsp[(3) - (3)]);;} break; case 616: /* Line 1455 of yacc.c */ -#line 2384 "hphp.y" +#line 2397 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]) + "-" + (yyvsp[(3) - (3)]);;} break; case 617: /* Line 1455 of yacc.c */ -#line 2388 "hphp.y" +#line 2401 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 618: /* Line 1455 of yacc.c */ -#line 2389 "hphp.y" +#line 2402 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 619: /* Line 1455 of yacc.c */ -#line 2390 "hphp.y" +#line 2403 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 620: /* Line 1455 of yacc.c */ -#line 2391 "hphp.y" +#line 2404 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 621: /* Line 1455 of yacc.c */ -#line 2392 "hphp.y" +#line 2405 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 622: /* Line 1455 of yacc.c */ -#line 2393 "hphp.y" +#line 2406 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 623: /* Line 1455 of yacc.c */ -#line 2394 "hphp.y" +#line 2407 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 624: /* Line 1455 of yacc.c */ -#line 2395 "hphp.y" +#line 2408 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 625: /* Line 1455 of yacc.c */ -#line 2396 "hphp.y" +#line 2409 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 626: /* Line 1455 of yacc.c */ -#line 2397 "hphp.y" +#line 2410 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 627: /* Line 1455 of yacc.c */ -#line 2398 "hphp.y" +#line 2411 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 628: /* Line 1455 of yacc.c */ -#line 2399 "hphp.y" +#line 2412 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 629: /* Line 1455 of yacc.c */ -#line 2400 "hphp.y" +#line 2413 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 630: /* Line 1455 of yacc.c */ -#line 2401 "hphp.y" +#line 2414 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 631: /* Line 1455 of yacc.c */ -#line 2402 "hphp.y" +#line 2415 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 632: /* Line 1455 of yacc.c */ -#line 2403 "hphp.y" +#line 2416 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 633: /* Line 1455 of yacc.c */ -#line 2404 "hphp.y" +#line 2417 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 634: /* Line 1455 of yacc.c */ -#line 2405 "hphp.y" +#line 2418 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 635: /* Line 1455 of yacc.c */ -#line 2406 "hphp.y" +#line 2419 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 636: /* Line 1455 of yacc.c */ -#line 2407 "hphp.y" +#line 2420 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 637: /* Line 1455 of yacc.c */ -#line 2408 "hphp.y" +#line 2421 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 638: /* Line 1455 of yacc.c */ -#line 2409 "hphp.y" +#line 2422 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 639: /* Line 1455 of yacc.c */ -#line 2410 "hphp.y" +#line 2423 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 640: /* Line 1455 of yacc.c */ -#line 2411 "hphp.y" +#line 2424 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 641: /* Line 1455 of yacc.c */ -#line 2412 "hphp.y" +#line 2425 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 642: /* Line 1455 of yacc.c */ -#line 2413 "hphp.y" +#line 2426 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 643: /* Line 1455 of yacc.c */ -#line 2414 "hphp.y" +#line 2427 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 644: /* Line 1455 of yacc.c */ -#line 2415 "hphp.y" +#line 2428 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 645: /* Line 1455 of yacc.c */ -#line 2416 "hphp.y" +#line 2429 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 646: /* Line 1455 of yacc.c */ -#line 2417 "hphp.y" +#line 2430 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 647: /* Line 1455 of yacc.c */ -#line 2418 "hphp.y" +#line 2431 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 648: /* Line 1455 of yacc.c */ -#line 2419 "hphp.y" +#line 2432 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 649: /* Line 1455 of yacc.c */ -#line 2420 "hphp.y" +#line 2433 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 650: /* Line 1455 of yacc.c */ -#line 2421 "hphp.y" +#line 2434 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 651: /* Line 1455 of yacc.c */ -#line 2422 "hphp.y" +#line 2435 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 652: /* Line 1455 of yacc.c */ -#line 2423 "hphp.y" +#line 2436 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 653: /* Line 1455 of yacc.c */ -#line 2424 "hphp.y" +#line 2437 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 654: /* Line 1455 of yacc.c */ -#line 2425 "hphp.y" +#line 2438 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 655: /* Line 1455 of yacc.c */ -#line 2426 "hphp.y" +#line 2439 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 656: /* Line 1455 of yacc.c */ -#line 2427 "hphp.y" +#line 2440 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 657: /* Line 1455 of yacc.c */ -#line 2428 "hphp.y" +#line 2441 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 658: /* Line 1455 of yacc.c */ -#line 2429 "hphp.y" +#line 2442 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 659: /* Line 1455 of yacc.c */ -#line 2430 "hphp.y" +#line 2443 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 660: /* Line 1455 of yacc.c */ -#line 2431 "hphp.y" +#line 2444 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 661: /* Line 1455 of yacc.c */ -#line 2432 "hphp.y" +#line 2445 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 662: /* Line 1455 of yacc.c */ -#line 2433 "hphp.y" +#line 2446 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 663: /* Line 1455 of yacc.c */ -#line 2434 "hphp.y" +#line 2447 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 664: /* Line 1455 of yacc.c */ -#line 2435 "hphp.y" +#line 2448 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 665: /* Line 1455 of yacc.c */ -#line 2436 "hphp.y" +#line 2449 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 666: /* Line 1455 of yacc.c */ -#line 2437 "hphp.y" +#line 2450 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 667: /* Line 1455 of yacc.c */ -#line 2438 "hphp.y" +#line 2451 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 668: /* Line 1455 of yacc.c */ -#line 2439 "hphp.y" +#line 2452 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 669: /* Line 1455 of yacc.c */ -#line 2440 "hphp.y" +#line 2453 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 670: /* Line 1455 of yacc.c */ -#line 2441 "hphp.y" +#line 2454 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 671: /* Line 1455 of yacc.c */ -#line 2442 "hphp.y" +#line 2455 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 672: /* Line 1455 of yacc.c */ -#line 2443 "hphp.y" +#line 2456 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 673: /* Line 1455 of yacc.c */ -#line 2444 "hphp.y" +#line 2457 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 674: /* Line 1455 of yacc.c */ -#line 2445 "hphp.y" +#line 2458 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 675: /* Line 1455 of yacc.c */ -#line 2446 "hphp.y" +#line 2459 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 676: /* Line 1455 of yacc.c */ -#line 2447 "hphp.y" +#line 2460 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 677: /* Line 1455 of yacc.c */ -#line 2448 "hphp.y" +#line 2461 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 678: /* Line 1455 of yacc.c */ -#line 2449 "hphp.y" +#line 2462 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 679: /* Line 1455 of yacc.c */ -#line 2450 "hphp.y" +#line 2463 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 680: /* Line 1455 of yacc.c */ -#line 2451 "hphp.y" +#line 2464 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 681: /* Line 1455 of yacc.c */ -#line 2452 "hphp.y" +#line 2465 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 682: /* Line 1455 of yacc.c */ -#line 2453 "hphp.y" +#line 2466 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 683: /* Line 1455 of yacc.c */ -#line 2454 "hphp.y" +#line 2467 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 684: /* Line 1455 of yacc.c */ -#line 2455 "hphp.y" +#line 2468 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 685: /* Line 1455 of yacc.c */ -#line 2456 "hphp.y" +#line 2469 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 686: /* Line 1455 of yacc.c */ -#line 2457 "hphp.y" +#line 2470 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 687: /* Line 1455 of yacc.c */ -#line 2458 "hphp.y" +#line 2471 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 688: /* Line 1455 of yacc.c */ -#line 2459 "hphp.y" +#line 2472 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 689: /* Line 1455 of yacc.c */ -#line 2460 "hphp.y" +#line 2473 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 690: /* Line 1455 of yacc.c */ -#line 2461 "hphp.y" +#line 2474 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 691: /* Line 1455 of yacc.c */ -#line 2462 "hphp.y" +#line 2475 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 692: /* Line 1455 of yacc.c */ -#line 2463 "hphp.y" +#line 2476 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 693: /* Line 1455 of yacc.c */ -#line 2464 "hphp.y" +#line 2477 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 694: /* Line 1455 of yacc.c */ -#line 2465 "hphp.y" +#line 2478 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 695: /* Line 1455 of yacc.c */ -#line 2466 "hphp.y" +#line 2479 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 696: /* Line 1455 of yacc.c */ -#line 2467 "hphp.y" +#line 2480 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 697: /* Line 1455 of yacc.c */ -#line 2468 "hphp.y" +#line 2481 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 698: /* Line 1455 of yacc.c */ -#line 2473 "hphp.y" +#line 2486 "hphp.y" { _p->onCall((yyval),0,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 699: /* Line 1455 of yacc.c */ -#line 2477 "hphp.y" +#line 2490 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 700: /* Line 1455 of yacc.c */ -#line 2478 "hphp.y" +#line 2491 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 701: /* Line 1455 of yacc.c */ -#line 2482 "hphp.y" +#line 2495 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 702: /* Line 1455 of yacc.c */ -#line 2483 "hphp.y" +#line 2496 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 703: /* Line 1455 of yacc.c */ -#line 2484 "hphp.y" +#line 2497 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} break; case 704: /* Line 1455 of yacc.c */ -#line 2485 "hphp.y" +#line 2498 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]), Parser::StaticClassExprName);;} break; @@ -12043,7 +12056,7 @@ yyreduce: case 705: /* Line 1455 of yacc.c */ -#line 2487 "hphp.y" +#line 2500 "hphp.y" { _p->onName((yyval),(yyvsp[(2) - (3)]), Parser::StaticClassExprName);;} break; @@ -12051,28 +12064,28 @@ yyreduce: case 706: /* Line 1455 of yacc.c */ -#line 2491 "hphp.y" +#line 2504 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 707: /* Line 1455 of yacc.c */ -#line 2500 "hphp.y" +#line 2513 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 708: /* Line 1455 of yacc.c */ -#line 2503 "hphp.y" +#line 2516 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 709: /* Line 1455 of yacc.c */ -#line 2504 "hphp.y" +#line 2517 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]), Parser::StaticClassExprName);;} break; @@ -12080,112 +12093,112 @@ yyreduce: case 710: /* Line 1455 of yacc.c */ -#line 2514 "hphp.y" +#line 2527 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 711: /* Line 1455 of yacc.c */ -#line 2518 "hphp.y" +#line 2531 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 712: /* Line 1455 of yacc.c */ -#line 2519 "hphp.y" +#line 2532 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} break; case 713: /* Line 1455 of yacc.c */ -#line 2520 "hphp.y" +#line 2533 "hphp.y" { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::ExprName);;} break; case 714: /* Line 1455 of yacc.c */ -#line 2524 "hphp.y" +#line 2537 "hphp.y" { (yyval).reset();;} break; case 715: /* Line 1455 of yacc.c */ -#line 2525 "hphp.y" +#line 2538 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 716: /* Line 1455 of yacc.c */ -#line 2526 "hphp.y" +#line 2539 "hphp.y" { (yyval).reset();;} break; case 717: /* Line 1455 of yacc.c */ -#line 2530 "hphp.y" +#line 2543 "hphp.y" { (yyval).reset();;} break; case 718: /* Line 1455 of yacc.c */ -#line 2531 "hphp.y" +#line 2544 "hphp.y" { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), 0);;} break; case 719: /* Line 1455 of yacc.c */ -#line 2532 "hphp.y" +#line 2545 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 720: /* Line 1455 of yacc.c */ -#line 2536 "hphp.y" +#line 2549 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 721: /* Line 1455 of yacc.c */ -#line 2537 "hphp.y" +#line 2550 "hphp.y" { (yyval).reset();;} break; case 722: /* Line 1455 of yacc.c */ -#line 2541 "hphp.y" +#line 2554 "hphp.y" { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} break; case 723: /* Line 1455 of yacc.c */ -#line 2542 "hphp.y" +#line 2555 "hphp.y" { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} break; case 724: /* Line 1455 of yacc.c */ -#line 2543 "hphp.y" +#line 2556 "hphp.y" { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;} break; case 725: /* Line 1455 of yacc.c */ -#line 2544 "hphp.y" +#line 2557 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; @@ -12193,343 +12206,343 @@ yyreduce: case 726: /* Line 1455 of yacc.c */ -#line 2546 "hphp.y" +#line 2559 "hphp.y" { _p->onScalar((yyval), T_LINE, (yyvsp[(1) - (1)]));;} break; case 727: /* Line 1455 of yacc.c */ -#line 2547 "hphp.y" +#line 2560 "hphp.y" { _p->onScalar((yyval), T_FILE, (yyvsp[(1) - (1)]));;} break; case 728: /* Line 1455 of yacc.c */ -#line 2548 "hphp.y" +#line 2561 "hphp.y" { _p->onScalar((yyval), T_DIR, (yyvsp[(1) - (1)]));;} break; case 729: /* Line 1455 of yacc.c */ -#line 2549 "hphp.y" +#line 2562 "hphp.y" { _p->onScalar((yyval), T_CLASS_C, (yyvsp[(1) - (1)]));;} break; case 730: /* Line 1455 of yacc.c */ -#line 2550 "hphp.y" +#line 2563 "hphp.y" { _p->onScalar((yyval), T_TRAIT_C, (yyvsp[(1) - (1)]));;} break; case 731: /* Line 1455 of yacc.c */ -#line 2551 "hphp.y" +#line 2564 "hphp.y" { _p->onScalar((yyval), T_METHOD_C, (yyvsp[(1) - (1)]));;} break; case 732: /* Line 1455 of yacc.c */ -#line 2552 "hphp.y" +#line 2565 "hphp.y" { _p->onScalar((yyval), T_FUNC_C, (yyvsp[(1) - (1)]));;} break; case 733: /* Line 1455 of yacc.c */ -#line 2553 "hphp.y" +#line 2566 "hphp.y" { _p->onScalar((yyval), T_NS_C, (yyvsp[(1) - (1)]));;} break; case 734: /* Line 1455 of yacc.c */ -#line 2554 "hphp.y" +#line 2567 "hphp.y" { _p->onScalar((yyval), T_COMPILER_HALT_OFFSET, (yyvsp[(1) - (1)]));;} break; case 735: /* Line 1455 of yacc.c */ -#line 2557 "hphp.y" +#line 2570 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} break; case 736: /* Line 1455 of yacc.c */ -#line 2559 "hphp.y" +#line 2572 "hphp.y" { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} break; case 737: /* Line 1455 of yacc.c */ -#line 2563 "hphp.y" +#line 2576 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 738: /* Line 1455 of yacc.c */ -#line 2564 "hphp.y" +#line 2577 "hphp.y" { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 739: /* Line 1455 of yacc.c */ -#line 2566 "hphp.y" +#line 2579 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 740: /* Line 1455 of yacc.c */ -#line 2567 "hphp.y" +#line 2580 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY); ;} break; case 741: /* Line 1455 of yacc.c */ -#line 2569 "hphp.y" +#line 2582 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 742: /* Line 1455 of yacc.c */ -#line 2570 "hphp.y" +#line 2583 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 743: /* Line 1455 of yacc.c */ -#line 2571 "hphp.y" +#line 2584 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 744: /* Line 1455 of yacc.c */ -#line 2572 "hphp.y" +#line 2585 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 745: /* Line 1455 of yacc.c */ -#line 2573 "hphp.y" +#line 2586 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 746: /* Line 1455 of yacc.c */ -#line 2574 "hphp.y" +#line 2587 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 747: /* Line 1455 of yacc.c */ -#line 2575 "hphp.y" +#line 2588 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 748: /* Line 1455 of yacc.c */ -#line 2577 "hphp.y" +#line 2590 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);;} break; case 749: /* Line 1455 of yacc.c */ -#line 2579 "hphp.y" +#line 2592 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);;} break; case 750: /* Line 1455 of yacc.c */ -#line 2581 "hphp.y" +#line 2594 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);;} break; case 751: /* Line 1455 of yacc.c */ -#line 2583 "hphp.y" +#line 2596 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);;} break; case 752: /* Line 1455 of yacc.c */ -#line 2585 "hphp.y" +#line 2598 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);;} break; case 753: /* Line 1455 of yacc.c */ -#line 2586 "hphp.y" +#line 2599 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');;} break; case 754: /* Line 1455 of yacc.c */ -#line 2587 "hphp.y" +#line 2600 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');;} break; case 755: /* Line 1455 of yacc.c */ -#line 2588 "hphp.y" +#line 2601 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');;} break; case 756: /* Line 1455 of yacc.c */ -#line 2589 "hphp.y" +#line 2602 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');;} break; case 757: /* Line 1455 of yacc.c */ -#line 2590 "hphp.y" +#line 2603 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');;} break; case 758: /* Line 1455 of yacc.c */ -#line 2591 "hphp.y" +#line 2604 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');;} break; case 759: /* Line 1455 of yacc.c */ -#line 2592 "hphp.y" +#line 2605 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');;} break; case 760: /* Line 1455 of yacc.c */ -#line 2593 "hphp.y" +#line 2606 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');;} break; case 761: /* Line 1455 of yacc.c */ -#line 2594 "hphp.y" +#line 2607 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');;} break; case 762: /* Line 1455 of yacc.c */ -#line 2595 "hphp.y" +#line 2608 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);;} break; case 763: /* Line 1455 of yacc.c */ -#line 2596 "hphp.y" +#line 2609 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);;} break; case 764: /* Line 1455 of yacc.c */ -#line 2597 "hphp.y" +#line 2610 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW);;} break; case 765: /* Line 1455 of yacc.c */ -#line 2598 "hphp.y" +#line 2611 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);;} break; case 766: /* Line 1455 of yacc.c */ -#line 2599 "hphp.y" +#line 2612 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);;} break; case 767: /* Line 1455 of yacc.c */ -#line 2600 "hphp.y" +#line 2613 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 768: /* Line 1455 of yacc.c */ -#line 2601 "hphp.y" +#line 2614 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 769: /* Line 1455 of yacc.c */ -#line 2603 "hphp.y" +#line 2616 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);;} break; case 770: /* Line 1455 of yacc.c */ -#line 2605 "hphp.y" +#line 2618 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);;} break; case 771: /* Line 1455 of yacc.c */ -#line 2607 "hphp.y" +#line 2620 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);;} break; case 772: /* Line 1455 of yacc.c */ -#line 2609 "hphp.y" +#line 2622 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);;} break; case 773: /* Line 1455 of yacc.c */ -#line 2610 "hphp.y" +#line 2623 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');;} break; case 774: /* Line 1455 of yacc.c */ -#line 2612 "hphp.y" +#line 2625 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_SMALLER_OR_EQUAL);;} break; @@ -12537,14 +12550,14 @@ yyreduce: case 775: /* Line 1455 of yacc.c */ -#line 2614 "hphp.y" +#line 2627 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');;} break; case 776: /* Line 1455 of yacc.c */ -#line 2617 "hphp.y" +#line 2630 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]), T_IS_GREATER_OR_EQUAL);;} break; @@ -12552,49 +12565,49 @@ yyreduce: case 777: /* Line 1455 of yacc.c */ -#line 2621 "hphp.y" +#line 2634 "hphp.y" { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SPACESHIP);;} break; case 778: /* Line 1455 of yacc.c */ -#line 2624 "hphp.y" +#line 2637 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));;} break; case 779: /* Line 1455 of yacc.c */ -#line 2625 "hphp.y" +#line 2638 "hphp.y" { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));;} break; case 780: /* Line 1455 of yacc.c */ -#line 2629 "hphp.y" +#line 2642 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 781: /* Line 1455 of yacc.c */ -#line 2630 "hphp.y" +#line 2643 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 782: /* Line 1455 of yacc.c */ -#line 2636 "hphp.y" +#line 2649 "hphp.y" { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; case 783: /* Line 1455 of yacc.c */ -#line 2638 "hphp.y" +#line 2651 "hphp.y" { (yyvsp[(1) - (3)]).xhpLabel(); _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; @@ -12602,7 +12615,7 @@ yyreduce: case 784: /* Line 1455 of yacc.c */ -#line 2641 "hphp.y" +#line 2654 "hphp.y" { (yyvsp[(1) - (3)]).xhpLabel(); _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; @@ -12610,56 +12623,56 @@ yyreduce: case 785: /* Line 1455 of yacc.c */ -#line 2645 "hphp.y" +#line 2658 "hphp.y" { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; case 786: /* Line 1455 of yacc.c */ -#line 2649 "hphp.y" +#line 2662 "hphp.y" { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 787: /* Line 1455 of yacc.c */ -#line 2650 "hphp.y" +#line 2663 "hphp.y" { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 788: /* Line 1455 of yacc.c */ -#line 2651 "hphp.y" +#line 2664 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 789: /* Line 1455 of yacc.c */ -#line 2652 "hphp.y" +#line 2665 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 790: /* Line 1455 of yacc.c */ -#line 2653 "hphp.y" +#line 2666 "hphp.y" { _p->onEncapsList((yyval),'"',(yyvsp[(2) - (3)]));;} break; case 791: /* Line 1455 of yacc.c */ -#line 2654 "hphp.y" +#line 2667 "hphp.y" { _p->onEncapsList((yyval),'\'',(yyvsp[(2) - (3)]));;} break; case 792: /* Line 1455 of yacc.c */ -#line 2656 "hphp.y" +#line 2669 "hphp.y" { _p->onEncapsList((yyval),T_START_HEREDOC, (yyvsp[(2) - (3)]));;} break; @@ -12667,140 +12680,140 @@ yyreduce: case 793: /* Line 1455 of yacc.c */ -#line 2661 "hphp.y" +#line 2674 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 794: /* Line 1455 of yacc.c */ -#line 2662 "hphp.y" +#line 2675 "hphp.y" { (yyval).reset();;} break; case 795: /* Line 1455 of yacc.c */ -#line 2666 "hphp.y" +#line 2679 "hphp.y" { (yyval).reset();;} break; case 796: /* Line 1455 of yacc.c */ -#line 2667 "hphp.y" +#line 2680 "hphp.y" { (yyval).reset();;} break; case 797: /* Line 1455 of yacc.c */ -#line 2670 "hphp.y" +#line 2683 "hphp.y" { only_in_hh_syntax(_p); (yyval).reset();;} break; case 798: /* Line 1455 of yacc.c */ -#line 2671 "hphp.y" +#line 2684 "hphp.y" { (yyval).reset();;} break; case 799: /* Line 1455 of yacc.c */ -#line 2677 "hphp.y" +#line 2690 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 800: /* Line 1455 of yacc.c */ -#line 2679 "hphp.y" +#line 2692 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 801: /* Line 1455 of yacc.c */ -#line 2681 "hphp.y" +#line 2694 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 802: /* Line 1455 of yacc.c */ -#line 2682 "hphp.y" +#line 2695 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 803: /* Line 1455 of yacc.c */ -#line 2686 "hphp.y" +#line 2699 "hphp.y" { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} break; case 804: /* Line 1455 of yacc.c */ -#line 2687 "hphp.y" +#line 2700 "hphp.y" { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} break; case 805: /* Line 1455 of yacc.c */ -#line 2688 "hphp.y" +#line 2701 "hphp.y" { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;} break; case 806: /* Line 1455 of yacc.c */ -#line 2691 "hphp.y" +#line 2704 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} break; case 807: /* Line 1455 of yacc.c */ -#line 2693 "hphp.y" +#line 2706 "hphp.y" { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} break; case 808: /* Line 1455 of yacc.c */ -#line 2696 "hphp.y" +#line 2709 "hphp.y" { _p->onScalar((yyval),T_LNUMBER,(yyvsp[(1) - (1)]));;} break; case 809: /* Line 1455 of yacc.c */ -#line 2697 "hphp.y" +#line 2710 "hphp.y" { _p->onScalar((yyval),T_DNUMBER,(yyvsp[(1) - (1)]));;} break; case 810: /* Line 1455 of yacc.c */ -#line 2698 "hphp.y" +#line 2711 "hphp.y" { _p->onScalar((yyval),T_ONUMBER,(yyvsp[(1) - (1)]));;} break; case 811: /* Line 1455 of yacc.c */ -#line 2699 "hphp.y" +#line 2712 "hphp.y" { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;} break; case 812: /* Line 1455 of yacc.c */ -#line 2703 "hphp.y" +#line 2716 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING,(yyvsp[(1) - (1)]));;} break; @@ -12808,7 +12821,7 @@ yyreduce: case 813: /* Line 1455 of yacc.c */ -#line 2706 "hphp.y" +#line 2719 "hphp.y" { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (3)]) + (yyvsp[(3) - (3)]));;} @@ -12817,196 +12830,196 @@ yyreduce: case 815: /* Line 1455 of yacc.c */ -#line 2713 "hphp.y" +#line 2726 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 816: /* Line 1455 of yacc.c */ -#line 2714 "hphp.y" +#line 2727 "hphp.y" { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;} break; case 817: /* Line 1455 of yacc.c */ -#line 2715 "hphp.y" +#line 2728 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 818: /* Line 1455 of yacc.c */ -#line 2716 "hphp.y" +#line 2729 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 819: /* Line 1455 of yacc.c */ -#line 2718 "hphp.y" +#line 2731 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;} break; case 820: /* Line 1455 of yacc.c */ -#line 2719 "hphp.y" +#line 2732 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 821: /* Line 1455 of yacc.c */ -#line 2721 "hphp.y" +#line 2734 "hphp.y" { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 822: /* Line 1455 of yacc.c */ -#line 2722 "hphp.y" +#line 2735 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 823: /* Line 1455 of yacc.c */ -#line 2723 "hphp.y" +#line 2736 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 824: /* Line 1455 of yacc.c */ -#line 2724 "hphp.y" +#line 2737 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 825: /* Line 1455 of yacc.c */ -#line 2729 "hphp.y" +#line 2742 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 826: /* Line 1455 of yacc.c */ -#line 2730 "hphp.y" +#line 2743 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 827: /* Line 1455 of yacc.c */ -#line 2735 "hphp.y" +#line 2748 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 828: /* Line 1455 of yacc.c */ -#line 2736 "hphp.y" +#line 2749 "hphp.y" { (yyval).reset();;} break; case 829: /* Line 1455 of yacc.c */ -#line 2741 "hphp.y" +#line 2754 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 830: /* Line 1455 of yacc.c */ -#line 2743 "hphp.y" +#line 2756 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 831: /* Line 1455 of yacc.c */ -#line 2745 "hphp.y" +#line 2758 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 832: /* Line 1455 of yacc.c */ -#line 2746 "hphp.y" +#line 2759 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 833: /* Line 1455 of yacc.c */ -#line 2750 "hphp.y" +#line 2763 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 834: /* Line 1455 of yacc.c */ -#line 2751 "hphp.y" +#line 2764 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 835: /* Line 1455 of yacc.c */ -#line 2756 "hphp.y" +#line 2769 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 836: /* Line 1455 of yacc.c */ -#line 2757 "hphp.y" +#line 2770 "hphp.y" { (yyval).reset(); ;} break; case 837: /* Line 1455 of yacc.c */ -#line 2762 "hphp.y" +#line 2775 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} break; case 838: /* Line 1455 of yacc.c */ -#line 2765 "hphp.y" +#line 2778 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} break; case 839: /* Line 1455 of yacc.c */ -#line 2770 "hphp.y" +#line 2783 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 840: /* Line 1455 of yacc.c */ -#line 2771 "hphp.y" +#line 2784 "hphp.y" { (yyval).reset();;} break; case 841: /* Line 1455 of yacc.c */ -#line 2774 "hphp.y" +#line 2787 "hphp.y" { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 842: /* Line 1455 of yacc.c */ -#line 2775 "hphp.y" +#line 2788 "hphp.y" { Token t; t.reset(); _p->onArray((yyval),t,T_ARRAY);;} break; @@ -13014,175 +13027,175 @@ yyreduce: case 843: /* Line 1455 of yacc.c */ -#line 2782 "hphp.y" +#line 2795 "hphp.y" { _p->onUserAttribute((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;} break; case 844: /* Line 1455 of yacc.c */ -#line 2784 "hphp.y" +#line 2797 "hphp.y" { _p->onUserAttribute((yyval), 0,(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 845: /* Line 1455 of yacc.c */ -#line 2787 "hphp.y" +#line 2800 "hphp.y" { only_in_hh_syntax(_p);;} break; case 846: /* Line 1455 of yacc.c */ -#line 2789 "hphp.y" +#line 2802 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 847: /* Line 1455 of yacc.c */ -#line 2792 "hphp.y" +#line 2805 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 848: /* Line 1455 of yacc.c */ -#line 2795 "hphp.y" +#line 2808 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 849: /* Line 1455 of yacc.c */ -#line 2796 "hphp.y" +#line 2809 "hphp.y" { (yyval).reset();;} break; case 850: /* Line 1455 of yacc.c */ -#line 2800 "hphp.y" +#line 2813 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;} break; case 851: /* Line 1455 of yacc.c */ -#line 2801 "hphp.y" +#line 2814 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 1;;} break; case 852: /* Line 1455 of yacc.c */ -#line 2805 "hphp.y" +#line 2818 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropNormal;;} break; case 853: /* Line 1455 of yacc.c */ -#line 2806 "hphp.y" +#line 2819 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropXhpAttr;;} break; case 854: /* Line 1455 of yacc.c */ -#line 2807 "hphp.y" +#line 2820 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); (yyval) = HPHP::ObjPropNormal;;} break; case 855: /* Line 1455 of yacc.c */ -#line 2811 "hphp.y" +#line 2824 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 856: /* Line 1455 of yacc.c */ -#line 2816 "hphp.y" +#line 2829 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropNormal;;} break; case 857: /* Line 1455 of yacc.c */ -#line 2821 "hphp.y" +#line 2834 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 858: /* Line 1455 of yacc.c */ -#line 2822 "hphp.y" +#line 2835 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 859: /* Line 1455 of yacc.c */ -#line 2826 "hphp.y" +#line 2839 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 860: /* Line 1455 of yacc.c */ -#line 2831 "hphp.y" +#line 2844 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 861: /* Line 1455 of yacc.c */ -#line 2836 "hphp.y" +#line 2849 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 862: /* Line 1455 of yacc.c */ -#line 2837 "hphp.y" +#line 2850 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 863: /* Line 1455 of yacc.c */ -#line 2841 "hphp.y" +#line 2854 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 864: /* Line 1455 of yacc.c */ -#line 2843 "hphp.y" +#line 2856 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;} break; case 865: /* Line 1455 of yacc.c */ -#line 2848 "hphp.y" +#line 2861 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 866: /* Line 1455 of yacc.c */ -#line 2850 "hphp.y" +#line 2863 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;} break; case 867: /* Line 1455 of yacc.c */ -#line 2856 "hphp.y" +#line 2869 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13197,7 +13210,7 @@ yyreduce: case 868: /* Line 1455 of yacc.c */ -#line 2867 "hphp.y" +#line 2880 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13212,7 +13225,7 @@ yyreduce: case 869: /* Line 1455 of yacc.c */ -#line 2882 "hphp.y" +#line 2895 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13227,7 +13240,7 @@ yyreduce: case 870: /* Line 1455 of yacc.c */ -#line 2894 "hphp.y" +#line 2907 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(2) - (5)]), @@ -13242,49 +13255,49 @@ yyreduce: case 871: /* Line 1455 of yacc.c */ -#line 2906 "hphp.y" +#line 2919 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 872: /* Line 1455 of yacc.c */ -#line 2907 "hphp.y" +#line 2920 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 873: /* Line 1455 of yacc.c */ -#line 2908 "hphp.y" +#line 2921 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 874: /* Line 1455 of yacc.c */ -#line 2909 "hphp.y" +#line 2922 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 875: /* Line 1455 of yacc.c */ -#line 2910 "hphp.y" +#line 2923 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 876: /* Line 1455 of yacc.c */ -#line 2911 "hphp.y" +#line 2924 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 877: /* Line 1455 of yacc.c */ -#line 2913 "hphp.y" +#line 2926 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13299,63 +13312,63 @@ yyreduce: case 878: /* Line 1455 of yacc.c */ -#line 2930 "hphp.y" +#line 2943 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 879: /* Line 1455 of yacc.c */ -#line 2932 "hphp.y" +#line 2945 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 880: /* Line 1455 of yacc.c */ -#line 2934 "hphp.y" +#line 2947 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 881: /* Line 1455 of yacc.c */ -#line 2935 "hphp.y" +#line 2948 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 882: /* Line 1455 of yacc.c */ -#line 2939 "hphp.y" +#line 2952 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 883: /* Line 1455 of yacc.c */ -#line 2940 "hphp.y" +#line 2953 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 884: /* Line 1455 of yacc.c */ -#line 2941 "hphp.y" +#line 2954 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 885: /* Line 1455 of yacc.c */ -#line 2942 "hphp.y" +#line 2955 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 886: /* Line 1455 of yacc.c */ -#line 2950 "hphp.y" +#line 2963 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13370,245 +13383,245 @@ yyreduce: case 887: /* Line 1455 of yacc.c */ -#line 2959 "hphp.y" +#line 2972 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 888: /* Line 1455 of yacc.c */ -#line 2961 "hphp.y" +#line 2974 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 889: /* Line 1455 of yacc.c */ -#line 2962 "hphp.y" +#line 2975 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 890: /* Line 1455 of yacc.c */ -#line 2966 "hphp.y" +#line 2979 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 891: /* Line 1455 of yacc.c */ -#line 2971 "hphp.y" +#line 2984 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 892: /* Line 1455 of yacc.c */ -#line 2972 "hphp.y" +#line 2985 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 893: /* Line 1455 of yacc.c */ -#line 2973 "hphp.y" +#line 2986 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 894: /* Line 1455 of yacc.c */ -#line 2974 "hphp.y" +#line 2987 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 895: /* Line 1455 of yacc.c */ -#line 2975 "hphp.y" +#line 2988 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 896: /* Line 1455 of yacc.c */ -#line 2976 "hphp.y" +#line 2989 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 897: /* Line 1455 of yacc.c */ -#line 2977 "hphp.y" +#line 2990 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 898: /* Line 1455 of yacc.c */ -#line 2979 "hphp.y" +#line 2992 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 899: /* Line 1455 of yacc.c */ -#line 2981 "hphp.y" +#line 2994 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 900: /* Line 1455 of yacc.c */ -#line 2985 "hphp.y" +#line 2998 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 901: /* Line 1455 of yacc.c */ -#line 2989 "hphp.y" +#line 3002 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 902: /* Line 1455 of yacc.c */ -#line 2990 "hphp.y" +#line 3003 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 903: /* Line 1455 of yacc.c */ -#line 2996 "hphp.y" +#line 3009 "hphp.y" { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (7)]),(yyvsp[(2) - (7)]).num(),(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]));;} break; case 904: /* Line 1455 of yacc.c */ -#line 3000 "hphp.y" +#line 3013 "hphp.y" { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (9)]),(yyvsp[(4) - (9)]).num(),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]));;} break; case 905: /* Line 1455 of yacc.c */ -#line 3007 "hphp.y" +#line 3020 "hphp.y" { _p->onCall((yyval),0,(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]),&(yyvsp[(1) - (7)]));;} break; case 906: /* Line 1455 of yacc.c */ -#line 3016 "hphp.y" +#line 3029 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]),&(yyvsp[(1) - (6)]));;} break; case 907: /* Line 1455 of yacc.c */ -#line 3020 "hphp.y" +#line 3033 "hphp.y" { _p->onCall((yyval),1,(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));;} break; case 908: /* Line 1455 of yacc.c */ -#line 3024 "hphp.y" +#line 3037 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 909: /* Line 1455 of yacc.c */ -#line 3033 "hphp.y" +#line 3046 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 910: /* Line 1455 of yacc.c */ -#line 3034 "hphp.y" +#line 3047 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 911: /* Line 1455 of yacc.c */ -#line 3035 "hphp.y" +#line 3048 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 912: /* Line 1455 of yacc.c */ -#line 3039 "hphp.y" +#line 3052 "hphp.y" { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} break; case 913: /* Line 1455 of yacc.c */ -#line 3040 "hphp.y" +#line 3053 "hphp.y" { _p->onPipeVariable((yyval));;} break; case 914: /* Line 1455 of yacc.c */ -#line 3041 "hphp.y" +#line 3054 "hphp.y" { _p->onDynamicVariable((yyval), (yyvsp[(3) - (4)]), 0);;} break; case 915: /* Line 1455 of yacc.c */ -#line 3043 "hphp.y" +#line 3056 "hphp.y" { (yyvsp[(1) - (2)]) = 1; _p->onIndirectRef((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 916: /* Line 1455 of yacc.c */ -#line 3048 "hphp.y" +#line 3061 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 917: /* Line 1455 of yacc.c */ -#line 3049 "hphp.y" +#line 3062 "hphp.y" { (yyval).reset();;} break; case 918: /* Line 1455 of yacc.c */ -#line 3060 "hphp.y" +#line 3073 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 919: /* Line 1455 of yacc.c */ -#line 3061 "hphp.y" +#line 3074 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 920: /* Line 1455 of yacc.c */ -#line 3062 "hphp.y" +#line 3075 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 921: /* Line 1455 of yacc.c */ -#line 3065 "hphp.y" +#line 3078 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13623,35 +13636,35 @@ yyreduce: case 922: /* Line 1455 of yacc.c */ -#line 3076 "hphp.y" +#line 3089 "hphp.y" { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 923: /* Line 1455 of yacc.c */ -#line 3077 "hphp.y" +#line 3090 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 925: /* Line 1455 of yacc.c */ -#line 3081 "hphp.y" +#line 3094 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 926: /* Line 1455 of yacc.c */ -#line 3082 "hphp.y" +#line 3095 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 927: /* Line 1455 of yacc.c */ -#line 3085 "hphp.y" +#line 3098 "hphp.y" { _p->onObjectProperty( (yyval), (yyvsp[(1) - (3)]), @@ -13666,231 +13679,231 @@ yyreduce: case 928: /* Line 1455 of yacc.c */ -#line 3094 "hphp.y" +#line 3107 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 929: /* Line 1455 of yacc.c */ -#line 3098 "hphp.y" +#line 3111 "hphp.y" { _p->onAListVar((yyval),&(yyvsp[(1) - (2)]),NULL);;} break; case 930: /* Line 1455 of yacc.c */ -#line 3099 "hphp.y" +#line 3112 "hphp.y" { _p->onAListVar((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} break; case 931: /* Line 1455 of yacc.c */ -#line 3101 "hphp.y" +#line 3114 "hphp.y" { _p->onAListSub((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]));;} break; case 932: /* Line 1455 of yacc.c */ -#line 3102 "hphp.y" +#line 3115 "hphp.y" { _p->onAListVar((yyval),NULL,NULL);;} break; case 933: /* Line 1455 of yacc.c */ -#line 3103 "hphp.y" +#line 3116 "hphp.y" { _p->onAListVar((yyval),NULL,&(yyvsp[(1) - (1)]));;} break; case 934: /* Line 1455 of yacc.c */ -#line 3104 "hphp.y" +#line 3117 "hphp.y" { _p->onAListSub((yyval),NULL,(yyvsp[(3) - (4)]));;} break; case 935: /* Line 1455 of yacc.c */ -#line 3109 "hphp.y" +#line 3122 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 936: /* Line 1455 of yacc.c */ -#line 3110 "hphp.y" +#line 3123 "hphp.y" { (yyval).reset();;} break; case 937: /* Line 1455 of yacc.c */ -#line 3114 "hphp.y" +#line 3127 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 938: /* Line 1455 of yacc.c */ -#line 3115 "hphp.y" +#line 3128 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 939: /* Line 1455 of yacc.c */ -#line 3116 "hphp.y" +#line 3129 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 940: /* Line 1455 of yacc.c */ -#line 3117 "hphp.y" +#line 3130 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 941: /* Line 1455 of yacc.c */ -#line 3120 "hphp.y" +#line 3133 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;} break; case 942: /* Line 1455 of yacc.c */ -#line 3122 "hphp.y" +#line 3135 "hphp.y" { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]), 0,(yyvsp[(4) - (4)]),1);;} break; case 943: /* Line 1455 of yacc.c */ -#line 3123 "hphp.y" +#line 3136 "hphp.y" { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} break; case 944: /* Line 1455 of yacc.c */ -#line 3124 "hphp.y" +#line 3137 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(2) - (2)]),1);;} break; case 945: /* Line 1455 of yacc.c */ -#line 3129 "hphp.y" +#line 3142 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 946: /* Line 1455 of yacc.c */ -#line 3130 "hphp.y" +#line 3143 "hphp.y" { _p->onEmptyCollection((yyval));;} break; case 947: /* Line 1455 of yacc.c */ -#line 3134 "hphp.y" +#line 3147 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 948: /* Line 1455 of yacc.c */ -#line 3135 "hphp.y" +#line 3148 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} break; case 949: /* Line 1455 of yacc.c */ -#line 3136 "hphp.y" +#line 3149 "hphp.y" { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 950: /* Line 1455 of yacc.c */ -#line 3137 "hphp.y" +#line 3150 "hphp.y" { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} break; case 951: /* Line 1455 of yacc.c */ -#line 3142 "hphp.y" +#line 3155 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]);;} break; case 952: /* Line 1455 of yacc.c */ -#line 3143 "hphp.y" +#line 3156 "hphp.y" { _p->onEmptyCollection((yyval));;} break; case 953: /* Line 1455 of yacc.c */ -#line 3148 "hphp.y" +#line 3161 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 954: /* Line 1455 of yacc.c */ -#line 3150 "hphp.y" +#line 3163 "hphp.y" { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} break; case 955: /* Line 1455 of yacc.c */ -#line 3152 "hphp.y" +#line 3165 "hphp.y" { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 956: /* Line 1455 of yacc.c */ -#line 3153 "hphp.y" +#line 3166 "hphp.y" { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} break; case 957: /* Line 1455 of yacc.c */ -#line 3157 "hphp.y" +#line 3170 "hphp.y" { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), -1);;} break; case 958: /* Line 1455 of yacc.c */ -#line 3159 "hphp.y" +#line 3172 "hphp.y" { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), 0);;} break; case 959: /* Line 1455 of yacc.c */ -#line 3160 "hphp.y" +#line 3173 "hphp.y" { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), -1);;} break; case 960: /* Line 1455 of yacc.c */ -#line 3162 "hphp.y" +#line 3175 "hphp.y" { _p->addEncap((yyval), NULL, (yyvsp[(1) - (2)]), 0); _p->addEncap((yyval), &(yyval), (yyvsp[(2) - (2)]), -1); ;} break; @@ -13898,21 +13911,21 @@ yyreduce: case 961: /* Line 1455 of yacc.c */ -#line 3167 "hphp.y" +#line 3180 "hphp.y" { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} break; case 962: /* Line 1455 of yacc.c */ -#line 3169 "hphp.y" +#line 3182 "hphp.y" { _p->encapRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 963: /* Line 1455 of yacc.c */ -#line 3171 "hphp.y" +#line 3184 "hphp.y" { _p->encapObjProp( (yyval), (yyvsp[(1) - (3)]), @@ -13927,154 +13940,154 @@ yyreduce: case 964: /* Line 1455 of yacc.c */ -#line 3181 "hphp.y" +#line 3194 "hphp.y" { _p->onDynamicVariable((yyval), (yyvsp[(2) - (3)]), 1);;} break; case 965: /* Line 1455 of yacc.c */ -#line 3183 "hphp.y" +#line 3196 "hphp.y" { _p->encapArray((yyval), (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));;} break; case 966: /* Line 1455 of yacc.c */ -#line 3184 "hphp.y" +#line 3197 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]);;} break; case 967: /* Line 1455 of yacc.c */ -#line 3187 "hphp.y" +#line 3200 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_STRING;;} break; case 968: /* Line 1455 of yacc.c */ -#line 3188 "hphp.y" +#line 3201 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_NUM_STRING;;} break; case 969: /* Line 1455 of yacc.c */ -#line 3189 "hphp.y" +#line 3202 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_VARIABLE;;} break; case 970: /* Line 1455 of yacc.c */ -#line 3193 "hphp.y" +#line 3206 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),T_ISSET,1);;} break; case 971: /* Line 1455 of yacc.c */ -#line 3194 "hphp.y" +#line 3207 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),T_EMPTY,1);;} break; case 972: /* Line 1455 of yacc.c */ -#line 3195 "hphp.y" +#line 3208 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 973: /* Line 1455 of yacc.c */ -#line 3196 "hphp.y" +#line 3209 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 974: /* Line 1455 of yacc.c */ -#line 3197 "hphp.y" +#line 3210 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 975: /* Line 1455 of yacc.c */ -#line 3198 "hphp.y" +#line 3211 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;} break; case 976: /* Line 1455 of yacc.c */ -#line 3199 "hphp.y" +#line 3212 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE,1);;} break; case 977: /* Line 1455 of yacc.c */ -#line 3200 "hphp.y" +#line 3213 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE_ONCE,1);;} break; case 978: /* Line 1455 of yacc.c */ -#line 3201 "hphp.y" +#line 3214 "hphp.y" { UEXP((yyval),(yyvsp[(3) - (4)]),T_EVAL,1);;} break; case 979: /* Line 1455 of yacc.c */ -#line 3202 "hphp.y" +#line 3215 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE,1);;} break; case 980: /* Line 1455 of yacc.c */ -#line 3203 "hphp.y" +#line 3216 "hphp.y" { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE_ONCE,1);;} break; case 981: /* Line 1455 of yacc.c */ -#line 3207 "hphp.y" +#line 3220 "hphp.y" { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 982: /* Line 1455 of yacc.c */ -#line 3208 "hphp.y" +#line 3221 "hphp.y" { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 983: /* Line 1455 of yacc.c */ -#line 3213 "hphp.y" +#line 3226 "hphp.y" { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} break; case 984: /* Line 1455 of yacc.c */ -#line 3215 "hphp.y" +#line 3228 "hphp.y" { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} break; case 987: /* Line 1455 of yacc.c */ -#line 3229 "hphp.y" +#line 3242 "hphp.y" { (yyvsp[(2) - (5)]).setText(_p->nsClassDecl((yyvsp[(2) - (5)]).text())); _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); _p->popTypeScope(); ;} @@ -14083,7 +14096,7 @@ yyreduce: case 988: /* Line 1455 of yacc.c */ -#line 3234 "hphp.y" +#line 3247 "hphp.y" { (yyvsp[(3) - (6)]).setText(_p->nsClassDecl((yyvsp[(3) - (6)]).text())); _p->onTypedef((yyval), (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]), &(yyvsp[(1) - (6)])); _p->popTypeScope(); ;} @@ -14092,7 +14105,7 @@ yyreduce: case 989: /* Line 1455 of yacc.c */ -#line 3238 "hphp.y" +#line 3251 "hphp.y" { (yyvsp[(2) - (6)]).setText(_p->nsClassDecl((yyvsp[(2) - (6)]).text())); _p->onTypedef((yyval), (yyvsp[(2) - (6)]), (yyvsp[(5) - (6)])); _p->popTypeScope(); ;} @@ -14101,7 +14114,7 @@ yyreduce: case 990: /* Line 1455 of yacc.c */ -#line 3243 "hphp.y" +#line 3256 "hphp.y" { (yyvsp[(3) - (7)]).setText(_p->nsClassDecl((yyvsp[(3) - (7)]).text())); _p->onTypedef((yyval), (yyvsp[(3) - (7)]), (yyvsp[(6) - (7)]), &(yyvsp[(1) - (7)])); _p->popTypeScope(); ;} @@ -14110,56 +14123,56 @@ yyreduce: case 991: /* Line 1455 of yacc.c */ -#line 3249 "hphp.y" +#line 3262 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 992: /* Line 1455 of yacc.c */ -#line 3250 "hphp.y" +#line 3263 "hphp.y" { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 993: /* Line 1455 of yacc.c */ -#line 3254 "hphp.y" +#line 3267 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 994: /* Line 1455 of yacc.c */ -#line 3255 "hphp.y" +#line 3268 "hphp.y" { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 995: /* Line 1455 of yacc.c */ -#line 3261 "hphp.y" +#line 3274 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;} break; case 996: /* Line 1455 of yacc.c */ -#line 3265 "hphp.y" +#line 3278 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); ;} break; case 997: /* Line 1455 of yacc.c */ -#line 3271 "hphp.y" +#line 3284 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;} break; case 998: /* Line 1455 of yacc.c */ -#line 3275 "hphp.y" +#line 3288 "hphp.y" { Token t; _p->setTypeVars(t, (yyvsp[(1) - (4)])); _p->pushTypeScope(); (yyval) = t; ;} break; @@ -14167,21 +14180,21 @@ yyreduce: case 999: /* Line 1455 of yacc.c */ -#line 3282 "hphp.y" +#line 3295 "hphp.y" { (yyval) = (yyvsp[(2) - (3)]); ;} break; case 1000: /* Line 1455 of yacc.c */ -#line 3283 "hphp.y" +#line 3296 "hphp.y" { (yyval).reset(); ;} break; case 1001: /* Line 1455 of yacc.c */ -#line 3287 "hphp.y" +#line 3300 "hphp.y" { Token t; t.reset(); _p->onTypeList((yyvsp[(1) - (1)]), t); (yyval) = (yyvsp[(1) - (1)]); ;} @@ -14190,7 +14203,7 @@ yyreduce: case 1002: /* Line 1455 of yacc.c */ -#line 3290 "hphp.y" +#line 3303 "hphp.y" { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); (yyval) = (yyvsp[(1) - (3)]); ;} break; @@ -14198,112 +14211,112 @@ yyreduce: case 1003: /* Line 1455 of yacc.c */ -#line 3296 "hphp.y" +#line 3309 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 1004: /* Line 1455 of yacc.c */ -#line 3301 "hphp.y" +#line 3314 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]); ;} break; case 1005: /* Line 1455 of yacc.c */ -#line 3302 "hphp.y" +#line 3315 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1006: /* Line 1455 of yacc.c */ -#line 3303 "hphp.y" +#line 3316 "hphp.y" { (yyval).reset(); ;} break; case 1007: /* Line 1455 of yacc.c */ -#line 3304 "hphp.y" +#line 3317 "hphp.y" { (yyval).reset(); ;} break; case 1008: /* Line 1455 of yacc.c */ -#line 3308 "hphp.y" +#line 3321 "hphp.y" { (yyval).reset(); ;} break; case 1009: /* Line 1455 of yacc.c */ -#line 3309 "hphp.y" +#line 3322 "hphp.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1; ;} break; case 1012: /* Line 1455 of yacc.c */ -#line 3318 "hphp.y" +#line 3331 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 1015: /* Line 1455 of yacc.c */ -#line 3329 "hphp.y" +#line 3342 "hphp.y" { _p->addTypeVar((yyvsp[(4) - (4)]).text()); ;} break; case 1016: /* Line 1455 of yacc.c */ -#line 3331 "hphp.y" +#line 3344 "hphp.y" { _p->addTypeVar((yyvsp[(2) - (2)]).text()); ;} break; case 1017: /* Line 1455 of yacc.c */ -#line 3335 "hphp.y" +#line 3348 "hphp.y" { _p->addTypeVar((yyvsp[(4) - (5)]).text()); ;} break; case 1018: /* Line 1455 of yacc.c */ -#line 3338 "hphp.y" +#line 3351 "hphp.y" { _p->addTypeVar((yyvsp[(2) - (3)]).text()); ;} break; case 1019: /* Line 1455 of yacc.c */ -#line 3342 "hphp.y" +#line 3355 "hphp.y" {;} break; case 1020: /* Line 1455 of yacc.c */ -#line 3343 "hphp.y" +#line 3356 "hphp.y" {;} break; case 1021: /* Line 1455 of yacc.c */ -#line 3344 "hphp.y" +#line 3357 "hphp.y" {;} break; case 1022: /* Line 1455 of yacc.c */ -#line 3350 "hphp.y" +#line 3363 "hphp.y" { validate_shape_keyname((yyvsp[(1) - (3)]), _p); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;} break; @@ -14311,7 +14324,7 @@ yyreduce: case 1023: /* Line 1455 of yacc.c */ -#line 3355 "hphp.y" +#line 3368 "hphp.y" { /* should not reach here as * optional shape fields are not @@ -14324,35 +14337,35 @@ yyreduce: case 1024: /* Line 1455 of yacc.c */ -#line 3366 "hphp.y" +#line 3379 "hphp.y" { _p->onClsCnsShapeField((yyval), (yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(5) - (5)])); ;} break; case 1025: /* Line 1455 of yacc.c */ -#line 3371 "hphp.y" +#line 3384 "hphp.y" { _p->onTypeList((yyval), (yyvsp[(3) - (3)])); ;} break; case 1026: /* Line 1455 of yacc.c */ -#line 3372 "hphp.y" +#line 3385 "hphp.y" { ;} break; case 1027: /* Line 1455 of yacc.c */ -#line 3377 "hphp.y" +#line 3390 "hphp.y" { _p->onShape((yyval), (yyvsp[(1) - (2)])); ;} break; case 1028: /* Line 1455 of yacc.c */ -#line 3378 "hphp.y" +#line 3391 "hphp.y" { Token t; t.reset(); _p->onShape((yyval), t); ;} break; @@ -14360,7 +14373,7 @@ yyreduce: case 1029: /* Line 1455 of yacc.c */ -#line 3384 "hphp.y" +#line 3397 "hphp.y" { (yyval) = (yyvsp[(3) - (4)]); (yyval).setText("array"); ;} break; @@ -14368,14 +14381,14 @@ yyreduce: case 1030: /* Line 1455 of yacc.c */ -#line 3389 "hphp.y" +#line 3402 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1031: /* Line 1455 of yacc.c */ -#line 3394 "hphp.y" +#line 3407 "hphp.y" { Token t; t.reset(); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), t); _p->onTypeList((yyval), (yyvsp[(3) - (3)])); ;} @@ -14384,28 +14397,28 @@ yyreduce: case 1032: /* Line 1455 of yacc.c */ -#line 3398 "hphp.y" +#line 3411 "hphp.y" { _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;} break; case 1033: /* Line 1455 of yacc.c */ -#line 3403 "hphp.y" +#line 3416 "hphp.y" { (yyval) = (yyvsp[(2) - (4)]);;} break; case 1034: /* Line 1455 of yacc.c */ -#line 3405 "hphp.y" +#line 3418 "hphp.y" { _p->onTypeList((yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); (yyval) = (yyvsp[(2) - (5)]);;} break; case 1035: /* Line 1455 of yacc.c */ -#line 3411 "hphp.y" +#line 3424 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?'); (yyval) = (yyvsp[(2) - (2)]); ;} @@ -14414,7 +14427,7 @@ yyreduce: case 1036: /* Line 1455 of yacc.c */ -#line 3414 "hphp.y" +#line 3427 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@'); (yyval) = (yyvsp[(2) - (2)]); ;} @@ -14423,14 +14436,14 @@ yyreduce: case 1037: /* Line 1455 of yacc.c */ -#line 3417 "hphp.y" +#line 3430 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1038: /* Line 1455 of yacc.c */ -#line 3418 "hphp.y" +#line 3431 "hphp.y" { Token t; t.reset(); (yyvsp[(1) - (1)]).setText("array"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;} @@ -14439,7 +14452,7 @@ yyreduce: case 1039: /* Line 1455 of yacc.c */ -#line 3421 "hphp.y" +#line 3434 "hphp.y" { Token t; t.reset(); (yyvsp[(1) - (1)]).setText("callable"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;} @@ -14448,14 +14461,14 @@ yyreduce: case 1040: /* Line 1455 of yacc.c */ -#line 3424 "hphp.y" +#line 3437 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1041: /* Line 1455 of yacc.c */ -#line 3427 "hphp.y" +#line 3440 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); _p->onTypeSpecialization((yyval), 'a'); ;} @@ -14464,7 +14477,7 @@ yyreduce: case 1042: /* Line 1455 of yacc.c */ -#line 3430 "hphp.y" +#line 3443 "hphp.y" { (yyvsp[(1) - (2)]).setText("array"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;} break; @@ -14472,7 +14485,7 @@ yyreduce: case 1043: /* Line 1455 of yacc.c */ -#line 3432 "hphp.y" +#line 3445 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); Token t; t.reset(); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); @@ -14482,7 +14495,7 @@ yyreduce: case 1044: /* Line 1455 of yacc.c */ -#line 3438 "hphp.y" +#line 3451 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeList((yyvsp[(7) - (8)]), (yyvsp[(4) - (8)])); _p->onTypeAnnotation((yyval), (yyvsp[(2) - (8)]), (yyvsp[(7) - (8)])); @@ -14492,7 +14505,7 @@ yyreduce: case 1045: /* Line 1455 of yacc.c */ -#line 3444 "hphp.y" +#line 3457 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeList((yyvsp[(2) - (6)]), (yyvsp[(4) - (6)])); Token t; t.reset(); t.setText("array"); @@ -14503,21 +14516,21 @@ yyreduce: case 1046: /* Line 1455 of yacc.c */ -#line 3452 "hphp.y" +#line 3465 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 1047: /* Line 1455 of yacc.c */ -#line 3453 "hphp.y" +#line 3466 "hphp.y" { (yyval).reset(); ;} break; /* Line 1455 of yacc.c */ -#line 14519 "hphp.7.tab.cpp" +#line 14532 "hphp.7.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -14737,7 +14750,7 @@ yyreturn: /* Line 1675 of yacc.c */ -#line 3456 "hphp.y" +#line 3469 "hphp.y" /* !PHP5_ONLY*/ /* REMOVED */ diff --git a/hphp/parser/hphp.y b/hphp/parser/hphp.y index 9f223fefc84..1cd0e120cec 100644 --- a/hphp/parser/hphp.y +++ b/hphp/parser/hphp.y @@ -1,4 +1,13 @@ %{ + +/* By default this grammar is set up to be used by HPHP's compile parser. + * However, it can be used to make parsers for different purposes by + * making a Parser implementation with the same interface as + * HPHP::Compiler::Parser in a header file specified by + * PARSER_DEFINITIONS_HEADER, and specifying an alternate namespace with + * HPHP_PARSER_NS. + */ + // macros for bison #define YYSTYPE HPHP::HPHP_PARSER_NS::Token #define YYSTYPE_IS_TRIVIAL false @@ -8,7 +17,11 @@ #define YYINITDEPTH 500 #define YYLEX_PARAM _p +#ifdef PARSER_DEFINITIONS_HEADER +#include PARSER_DEFINITIONS_HEADER +#else #include "hphp/compiler/parser/parser.h" +#endif #include #include -- 2.11.4.GIT