Commit c0b864fc by Kaveh R. Ghazi Committed by Kaveh Ghazi

boehm.c (mark_reference_fields, set_bit): Prototype.

	* boehm.c (mark_reference_fields, set_bit): Prototype.
	(set_bit): Un-ANSI-fy definition.

	* class.c (init_test_hash_newfunc, decl_hash, decl_compare):
	Prototype.

	* decl.c (emit_init_test_initialization): Likewise.

	* gjavah.c (jni_print_char): Likewise.

	* parse.y (create_new_parser_context): Likewise.

From-SVN: r32908
parent 69c0caa1
2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* boehm.c (mark_reference_fields, set_bit): Prototype.
(set_bit): Un-ANSI-fy definition.
* class.c (init_test_hash_newfunc, decl_hash, decl_compare):
Prototype.
* decl.c (emit_init_test_initialization): Likewise.
* gjavah.c (jni_print_char): Likewise.
* parse.y (create_new_parser_context): Likewise.
Thu Mar 30 15:26:56 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000
......
......@@ -31,6 +31,15 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "java-tree.h"
#include "parse.h"
static unsigned int mark_reference_fields PARAMS ((tree,
unsigned HOST_WIDE_INT *,
unsigned HOST_WIDE_INT *,
unsigned int,
int *, int *, int *));
static void set_bit PARAMS ((unsigned HOST_WIDE_INT *,
unsigned HOST_WIDE_INT *,
unsigned int));
/* Compute a procedure-based object descriptor. We know that our
`kind' is 0, and `env' is likewise 0, so we have a simple
computation. From the GC sources:
......@@ -42,8 +51,9 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Treat two HOST_WIDE_INT's as a contiguous bitmap, with bit 0 being
the least significant. This function sets bit N in the bitmap. */
static void
set_bit (unsigned HOST_WIDE_INT *low, unsigned HOST_WIDE_INT *high,
unsigned int n)
set_bit (low, high, n)
unsigned HOST_WIDE_INT *low, *high;
unsigned int n;
{
HOST_WIDE_INT *which;
......
......@@ -48,6 +48,11 @@ static tree mangle_static_field PARAMS ((tree));
static void add_interface_do PARAMS ((tree, tree, int));
static tree maybe_layout_super_class PARAMS ((tree, tree));
static int assume_compiled PARAMS ((const char *));
static struct hash_entry *init_test_hash_newfunc PARAMS ((struct hash_entry *,
struct hash_table *,
hash_table_key));
static unsigned long decl_hash PARAMS ((hash_table_key));
static boolean decl_compare PARAMS ((hash_table_key, hash_table_key));
static rtx registerClass_libfunc;
......
......@@ -46,6 +46,8 @@ static tree push_jvm_slot PARAMS ((int, tree));
static tree lookup_name_current_level PARAMS ((tree));
static tree push_promoted_type PARAMS ((const char *, tree));
static struct binding_level *make_binding_level PARAMS ((void));
static boolean emit_init_test_initialization PARAMS ((struct hash_entry *,
hash_table_key));
/* Set to non-zero value in order to emit class initilization code
before static field references. */
......
......@@ -146,6 +146,7 @@ static void help PARAMS ((void)) ATTRIBUTE_NORETURN;
static void version PARAMS ((void)) ATTRIBUTE_NORETURN;
static int overloaded_jni_method_exists_p PARAMS ((const unsigned char *, int,
const char *, int));
static void jni_print_char PARAMS ((FILE *, int));
JCF_u2 current_field_name;
JCF_u2 current_field_value;
......
......@@ -392,6 +392,7 @@ static void add_inner_class_fields PARAMS ((tree, tree));
static tree build_dot_class_method PARAMS ((tree));
static tree build_dot_class_method_invocation PARAMS ((tree));
static void create_new_parser_context PARAMS ((int));
/* Number of error found so far. */
int java_error_count;
......@@ -484,7 +485,7 @@ static tree package_list = NULL_TREE;
} while (0)
#line 413 "./parse.y"
#line 414 "./parse.y"
typedef union {
tree node;
int sub_token;
......@@ -494,7 +495,7 @@ typedef union {
} operator;
int value;
} YYSTYPE;
#line 423 "./parse.y"
#line 424 "./parse.y"
#include "lex.c"
#ifndef YYDEBUG
......@@ -795,57 +796,57 @@ static const short yyrhs[] = { 123,
#if YYDEBUG != 0
static const short yyrline[] = { 0,
572, 578, 580, 581, 582, 583, 584, 588, 590, 593,
595, 596, 599, 601, 604, 608, 612, 616, 622, 624,
626, 628, 633, 635, 638, 642, 647, 652, 654, 655,
656, 657, 658, 659, 660, 663, 668, 674, 676, 679,
685, 687, 691, 693, 696, 723, 725, 729, 742, 744,
748, 751, 753, 755, 765, 770, 785, 789, 789, 792,
792, 794, 796, 801, 805, 807, 809, 811, 815, 817,
819, 826, 832, 837, 841, 850, 860, 862, 865, 867,
868, 869, 876, 878, 880, 881, 883, 888, 891, 901,
904, 906, 910, 913, 920, 926, 934, 936, 938, 940,
942, 946, 948, 952, 963, 964, 968, 971, 973, 975,
977, 982, 984, 986, 988, 995, 1001, 1003, 1012, 1014,
1018, 1023, 1028, 1032, 1037, 1042, 1047, 1054, 1064, 1066,
1068, 1072, 1075, 1077, 1081, 1083, 1084, 1089, 1095, 1102,
1118, 1125, 1128, 1131, 1135, 1141, 1145, 1154, 1156, 1158,
1162, 1164, 1167, 1174, 1182, 1184, 1188, 1195, 1205, 1209,
1209, 1212, 1212, 1215, 1215, 1218, 1218, 1220, 1224, 1230,
1235, 1237, 1241, 1244, 1248, 1250, 1253, 1255, 1256, 1258,
1262, 1266, 1272, 1277, 1280, 1282, 1286, 1292, 1296, 1301,
1310, 1314, 1319, 1331, 1333, 1336, 1338, 1340, 1347, 1351,
1354, 1358, 1360, 1361, 1362, 1363, 1364, 1368, 1370, 1371,
1372, 1373, 1377, 1379, 1380, 1381, 1382, 1383, 1384, 1385,
1386, 1387, 1388, 1391, 1396, 1407, 1410, 1414, 1421, 1431,
1437, 1443, 1449, 1451, 1456, 1458, 1463, 1465, 1467, 1469,
1471, 1475, 1477, 1478, 1479, 1480, 1481, 1482, 1485, 1491,
1493, 1495, 1499, 1504, 1509, 1515, 1525, 1531, 1533, 1535,
1542, 1545, 1547, 1549, 1553, 1555, 1558, 1562, 1564, 1567,
1574, 1580, 1582, 1584, 1588, 1596, 1599, 1601, 1603, 1607,
1612, 1621, 1626, 1629, 1636, 1638, 1640, 1644, 1647, 1656,
1663, 1665, 1669, 1682, 1684, 1690, 1696, 1700, 1702, 1706,
1709, 1711, 1715, 1718, 1720, 1722, 1726, 1729, 1731, 1733,
1737, 1740, 1742, 1744, 1748, 1754, 1756, 1760, 1767, 1769,
1771, 1773, 1777, 1789, 1792, 1794, 1799, 1803, 1805, 1812,
1820, 1837, 1839, 1844, 1848, 1851, 1856, 1858, 1861, 1863,
1865, 1867, 1868, 1869, 1870, 1871, 1875, 1880, 1882, 1884,
1886, 1893, 1899, 1908, 1911, 1913, 1915, 1919, 1922, 1924,
1928, 1934, 1935, 1941, 1942, 1944, 1946, 1948, 1950, 1952,
1961, 1965, 1995, 1998, 2012, 2015, 2019, 2025, 2030, 2034,
2037, 2039, 2041, 2045, 2054, 2062, 2064, 2068, 2071, 2075,
2081, 2083, 2091, 2118, 2120, 2124, 2129, 2136, 2140, 2143,
2145, 2156, 2167, 2172, 2181, 2183, 2187, 2190, 2192, 2197,
2202, 2207, 2214, 2216, 2217, 2218, 2221, 2226, 2231, 2233,
2234, 2236, 2238, 2239, 2241, 2245, 2248, 2252, 2255, 2259,
2261, 2263, 2265, 2266, 2268, 2272, 2281, 2283, 2285, 2298,
2300, 2306, 2308, 2310, 2314, 2316, 2321, 2326, 2331, 2333,
2335, 2339, 2341, 2346, 2351, 2353, 2357, 2359, 2364, 2369,
2374, 2376, 2378, 2382, 2384, 2389, 2394, 2399, 2404, 2406,
2408, 2410, 2412, 2414, 2418, 2420, 2425, 2430, 2432, 2436,
2438, 2443, 2447, 2449, 2454, 2458, 2460, 2465, 2469, 2471,
2476, 2480, 2482, 2487, 2491, 2493, 2498, 2504, 2506, 2510,
2512, 2515, 2518, 2526, 2528, 2529, 2532, 2534, 2537, 2541
573, 579, 581, 582, 583, 584, 585, 589, 591, 594,
596, 597, 600, 602, 605, 609, 613, 617, 623, 625,
627, 629, 634, 636, 639, 643, 648, 653, 655, 656,
657, 658, 659, 660, 661, 664, 669, 675, 677, 680,
686, 688, 692, 694, 697, 724, 726, 730, 743, 745,
749, 752, 754, 756, 766, 771, 786, 790, 790, 793,
793, 795, 797, 802, 806, 808, 810, 812, 816, 818,
820, 827, 833, 838, 842, 851, 861, 863, 866, 868,
869, 870, 877, 879, 881, 882, 884, 889, 892, 902,
905, 907, 911, 914, 921, 927, 935, 937, 939, 941,
943, 947, 949, 953, 964, 965, 969, 972, 974, 976,
978, 983, 985, 987, 989, 996, 1002, 1004, 1013, 1015,
1019, 1024, 1029, 1033, 1038, 1043, 1048, 1055, 1065, 1067,
1069, 1073, 1076, 1078, 1082, 1084, 1085, 1090, 1096, 1103,
1119, 1126, 1129, 1132, 1136, 1142, 1146, 1155, 1157, 1159,
1163, 1165, 1168, 1175, 1183, 1185, 1189, 1196, 1206, 1210,
1210, 1213, 1213, 1216, 1216, 1219, 1219, 1221, 1225, 1231,
1236, 1238, 1242, 1245, 1249, 1251, 1254, 1256, 1257, 1259,
1263, 1267, 1273, 1278, 1281, 1283, 1287, 1293, 1297, 1302,
1311, 1315, 1320, 1332, 1334, 1337, 1339, 1341, 1348, 1352,
1355, 1359, 1361, 1362, 1363, 1364, 1365, 1369, 1371, 1372,
1373, 1374, 1378, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
1387, 1388, 1389, 1392, 1397, 1408, 1411, 1415, 1422, 1432,
1438, 1444, 1450, 1452, 1457, 1459, 1464, 1466, 1468, 1470,
1472, 1476, 1478, 1479, 1480, 1481, 1482, 1483, 1486, 1492,
1494, 1496, 1500, 1505, 1510, 1516, 1526, 1532, 1534, 1536,
1543, 1546, 1548, 1550, 1554, 1556, 1559, 1563, 1565, 1568,
1575, 1581, 1583, 1585, 1589, 1597, 1600, 1602, 1604, 1608,
1613, 1622, 1627, 1630, 1637, 1639, 1641, 1645, 1648, 1657,
1664, 1666, 1670, 1683, 1685, 1691, 1697, 1701, 1703, 1707,
1710, 1712, 1716, 1719, 1721, 1723, 1727, 1730, 1732, 1734,
1738, 1741, 1743, 1745, 1749, 1755, 1757, 1761, 1768, 1770,
1772, 1774, 1778, 1790, 1793, 1795, 1800, 1804, 1806, 1813,
1821, 1838, 1840, 1845, 1849, 1852, 1857, 1859, 1862, 1864,
1866, 1868, 1869, 1870, 1871, 1872, 1876, 1881, 1883, 1885,
1887, 1894, 1900, 1909, 1912, 1914, 1916, 1920, 1923, 1925,
1929, 1935, 1936, 1942, 1943, 1945, 1947, 1949, 1951, 1953,
1962, 1966, 1996, 1999, 2013, 2016, 2020, 2026, 2031, 2035,
2038, 2040, 2042, 2046, 2055, 2063, 2065, 2069, 2072, 2076,
2082, 2084, 2092, 2119, 2121, 2125, 2130, 2137, 2141, 2144,
2146, 2157, 2168, 2173, 2182, 2184, 2188, 2191, 2193, 2198,
2203, 2208, 2215, 2217, 2218, 2219, 2222, 2227, 2232, 2234,
2235, 2237, 2239, 2240, 2242, 2246, 2249, 2253, 2256, 2260,
2262, 2264, 2266, 2267, 2269, 2273, 2282, 2284, 2286, 2299,
2301, 2307, 2309, 2311, 2315, 2317, 2322, 2327, 2332, 2334,
2336, 2340, 2342, 2347, 2352, 2354, 2358, 2360, 2365, 2370,
2375, 2377, 2379, 2383, 2385, 2390, 2395, 2400, 2405, 2407,
2409, 2411, 2413, 2415, 2419, 2421, 2426, 2431, 2433, 2437,
2439, 2444, 2448, 2450, 2455, 2459, 2461, 2466, 2470, 2472,
2477, 2481, 2483, 2488, 2492, 2494, 2499, 2505, 2507, 2511,
2513, 2516, 2519, 2527, 2529, 2530, 2533, 2535, 2538, 2542
};
#endif
......@@ -2928,69 +2929,69 @@ yyreduce:
switch (yyn) {
case 1:
#line 574 "./parse.y"
#line 575 "./parse.y"
{;
break;}
case 18:
#line 618 "./parse.y"
#line 619 "./parse.y"
{
yyval.node = build_java_array_type (yyvsp[-2].node, -1);
CLASS_LOADED_P (yyval.node) = 1;
;
break;}
case 19:
#line 623 "./parse.y"
#line 624 "./parse.y"
{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
break;}
case 20:
#line 625 "./parse.y"
#line 626 "./parse.y"
{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
break;}
case 21:
#line 627 "./parse.y"
#line 628 "./parse.y"
{RULE ("']' expected"); RECOVER;;
break;}
case 22:
#line 629 "./parse.y"
#line 630 "./parse.y"
{RULE ("']' expected"); RECOVER;;
break;}
case 26:
#line 644 "./parse.y"
#line 645 "./parse.y"
{ yyval.node = make_qualified_name (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;
break;}
case 28:
#line 653 "./parse.y"
#line 654 "./parse.y"
{yyval.node = NULL;;
break;}
case 36:
#line 665 "./parse.y"
#line 666 "./parse.y"
{
yyval.node = NULL;
;
break;}
case 37:
#line 669 "./parse.y"
#line 670 "./parse.y"
{
yyval.node = NULL;
;
break;}
case 40:
#line 681 "./parse.y"
#line 682 "./parse.y"
{
ctxp->package = EXPR_WFL_NODE (yyvsp[-1].node);
package_list = tree_cons (ctxp->package, NULL, package_list);
;
break;}
case 41:
#line 686 "./parse.y"
#line 687 "./parse.y"
{yyerror ("Missing name"); RECOVER;;
break;}
case 42:
#line 688 "./parse.y"
#line 689 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 45:
#line 698 "./parse.y"
#line 699 "./parse.y"
{
tree name = EXPR_WFL_NODE (yyvsp[-1].node), node, last_name;
int i = IDENTIFIER_LENGTH (name)-1;
......@@ -3018,15 +3019,15 @@ case 45:
;
break;}
case 46:
#line 724 "./parse.y"
#line 725 "./parse.y"
{yyerror ("Missing name"); RECOVER;;
break;}
case 47:
#line 726 "./parse.y"
#line 727 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 48:
#line 731 "./parse.y"
#line 732 "./parse.y"
{
tree name = EXPR_WFL_NODE (yyvsp[-3].node);
/* Don't import java.lang.* twice. */
......@@ -3040,40 +3041,40 @@ case 48:
;
break;}
case 49:
#line 743 "./parse.y"
#line 744 "./parse.y"
{yyerror ("'*' expected"); RECOVER;;
break;}
case 50:
#line 745 "./parse.y"
#line 746 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 51:
#line 750 "./parse.y"
#line 751 "./parse.y"
{ end_class_declaration (0); ;
break;}
case 52:
#line 752 "./parse.y"
#line 753 "./parse.y"
{ end_class_declaration (0); ;
break;}
case 53:
#line 754 "./parse.y"
#line 755 "./parse.y"
{ yyval.node = NULL; ;
break;}
case 54:
#line 756 "./parse.y"
#line 757 "./parse.y"
{
YYERROR_NOW;
yyerror ("Class or interface declaration expected");
;
break;}
case 55:
#line 767 "./parse.y"
#line 768 "./parse.y"
{
yyval.value = (1 << yyvsp[0].value);
;
break;}
case 56:
#line 771 "./parse.y"
#line 772 "./parse.y"
{
int acc = (1 << yyvsp[0].value);
if (yyval.value & acc)
......@@ -3087,83 +3088,83 @@ case 56:
;
break;}
case 57:
#line 787 "./parse.y"
#line 788 "./parse.y"
{ create_class (yyvsp[-4].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 59:
#line 790 "./parse.y"
#line 791 "./parse.y"
{ create_class (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 61:
#line 793 "./parse.y"
#line 794 "./parse.y"
{yyerror ("Missing class name"); RECOVER;;
break;}
case 62:
#line 795 "./parse.y"
#line 796 "./parse.y"
{yyerror ("Missing class name"); RECOVER;;
break;}
case 63:
#line 797 "./parse.y"
#line 798 "./parse.y"
{
if (!ctxp->class_err) yyerror ("'{' expected");
DRECOVER(class1);
;
break;}
case 64:
#line 802 "./parse.y"
#line 803 "./parse.y"
{if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER;;
break;}
case 65:
#line 806 "./parse.y"
#line 807 "./parse.y"
{ yyval.node = NULL; ;
break;}
case 66:
#line 808 "./parse.y"
#line 809 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 67:
#line 810 "./parse.y"
#line 811 "./parse.y"
{yyerror ("'{' expected"); ctxp->class_err=1;;
break;}
case 68:
#line 812 "./parse.y"
#line 813 "./parse.y"
{yyerror ("Missing super class name"); ctxp->class_err=1;;
break;}
case 69:
#line 816 "./parse.y"
#line 817 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 70:
#line 818 "./parse.y"
#line 819 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 71:
#line 820 "./parse.y"
#line 821 "./parse.y"
{
ctxp->class_err=1;
yyerror ("Missing interface name");
;
break;}
case 72:
#line 828 "./parse.y"
#line 829 "./parse.y"
{
ctxp->interface_number = 1;
yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);
;
break;}
case 73:
#line 833 "./parse.y"
#line 834 "./parse.y"
{
ctxp->interface_number++;
yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));
;
break;}
case 74:
#line 838 "./parse.y"
#line 839 "./parse.y"
{yyerror ("Missing interface name"); RECOVER;;
break;}
case 75:
#line 843 "./parse.y"
#line 844 "./parse.y"
{
/* Store the location of the `}' when doing xrefs */
if (flag_emit_xref)
......@@ -3173,7 +3174,7 @@ case 75:
;
break;}
case 76:
#line 851 "./parse.y"
#line 852 "./parse.y"
{
/* Store the location of the `}' when doing xrefs */
if (flag_emit_xref)
......@@ -3183,30 +3184,30 @@ case 76:
;
break;}
case 82:
#line 870 "./parse.y"
#line 871 "./parse.y"
{
TREE_CHAIN (yyvsp[0].node) = CPC_INSTANCE_INITIALIZER_STMT (ctxp);
SET_CPC_INSTANCE_INITIALIZER_STMT (ctxp, yyvsp[0].node);
;
break;}
case 84:
#line 879 "./parse.y"
#line 880 "./parse.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 86:
#line 882 "./parse.y"
#line 883 "./parse.y"
{ end_class_declaration (1); ;
break;}
case 87:
#line 884 "./parse.y"
#line 885 "./parse.y"
{ end_class_declaration (1); ;
break;}
case 88:
#line 890 "./parse.y"
#line 891 "./parse.y"
{ register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ;
break;}
case 89:
#line 892 "./parse.y"
#line 893 "./parse.y"
{
check_modifiers
("Illegal modifier `%s' for field declaration",
......@@ -3216,19 +3217,19 @@ case 89:
;
break;}
case 91:
#line 905 "./parse.y"
#line 906 "./parse.y"
{ yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 92:
#line 907 "./parse.y"
#line 908 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 93:
#line 912 "./parse.y"
#line 913 "./parse.y"
{ yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ;
break;}
case 94:
#line 914 "./parse.y"
#line 915 "./parse.y"
{
if (java_error_count)
yyvsp[0].node = NULL_TREE;
......@@ -3237,7 +3238,7 @@ case 94:
;
break;}
case 95:
#line 921 "./parse.y"
#line 922 "./parse.y"
{
yyerror ("Missing variable initializer");
yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE);
......@@ -3245,7 +3246,7 @@ case 95:
;
break;}
case 96:
#line 927 "./parse.y"
#line 928 "./parse.y"
{
yyerror ("';' expected");
yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE);
......@@ -3253,23 +3254,23 @@ case 96:
;
break;}
case 98:
#line 937 "./parse.y"
#line 938 "./parse.y"
{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
break;}
case 99:
#line 939 "./parse.y"
#line 940 "./parse.y"
{yyerror ("Invalid declaration"); DRECOVER(vdi);;
break;}
case 100:
#line 941 "./parse.y"
#line 942 "./parse.y"
{yyerror ("']' expected"); DRECOVER(vdi);;
break;}
case 101:
#line 943 "./parse.y"
#line 944 "./parse.y"
{yyerror ("Unbalanced ']'"); DRECOVER(vdi);;
break;}
case 104:
#line 954 "./parse.y"
#line 955 "./parse.y"
{
current_function_decl = yyvsp[0].node;
if (current_function_decl
......@@ -3280,68 +3281,68 @@ case 104:
;
break;}
case 105:
#line 963 "./parse.y"
#line 964 "./parse.y"
{ finish_method_declaration (yyvsp[0].node); ;
break;}
case 106:
#line 965 "./parse.y"
#line 966 "./parse.y"
{YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;
break;}
case 107:
#line 970 "./parse.y"
#line 971 "./parse.y"
{ yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 108:
#line 972 "./parse.y"
#line 973 "./parse.y"
{ yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 109:
#line 974 "./parse.y"
#line 975 "./parse.y"
{ yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 110:
#line 976 "./parse.y"
#line 977 "./parse.y"
{ yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 111:
#line 978 "./parse.y"
#line 979 "./parse.y"
{
yyerror ("Invalid method declaration, method name required");
RECOVER;
;
break;}
case 112:
#line 983 "./parse.y"
#line 984 "./parse.y"
{RECOVER;;
break;}
case 113:
#line 985 "./parse.y"
#line 986 "./parse.y"
{yyerror ("Identifier expected"); RECOVER;;
break;}
case 114:
#line 987 "./parse.y"
#line 988 "./parse.y"
{yyerror ("Identifier expected"); RECOVER;;
break;}
case 115:
#line 989 "./parse.y"
#line 990 "./parse.y"
{
yyerror ("Invalid method declaration, return type required");
RECOVER;
;
break;}
case 116:
#line 997 "./parse.y"
#line 998 "./parse.y"
{
ctxp->formal_parameter_number = 0;
yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE);
;
break;}
case 117:
#line 1002 "./parse.y"
#line 1003 "./parse.y"
{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 118:
#line 1004 "./parse.y"
#line 1005 "./parse.y"
{
EXPR_WFL_LINECOL (wfl_operator) = yyvsp[-1].operator.location;
TREE_PURPOSE (yyvsp[-2].node) =
......@@ -3352,59 +3353,59 @@ case 118:
;
break;}
case 119:
#line 1013 "./parse.y"
#line 1014 "./parse.y"
{yyerror ("')' expected"); DRECOVER(method_declarator);;
break;}
case 120:
#line 1015 "./parse.y"
#line 1016 "./parse.y"
{yyerror ("']' expected"); RECOVER;;
break;}
case 121:
#line 1020 "./parse.y"
#line 1021 "./parse.y"
{
ctxp->formal_parameter_number = 1;
;
break;}
case 122:
#line 1024 "./parse.y"
#line 1025 "./parse.y"
{
ctxp->formal_parameter_number += 1;
yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 123:
#line 1029 "./parse.y"
#line 1030 "./parse.y"
{ yyerror ("Missing formal parameter term"); RECOVER; ;
break;}
case 124:
#line 1034 "./parse.y"
#line 1035 "./parse.y"
{
yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node);
;
break;}
case 125:
#line 1038 "./parse.y"
#line 1039 "./parse.y"
{
yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node);
ARG_FINAL_P (yyval.node) = 1;
;
break;}
case 126:
#line 1043 "./parse.y"
#line 1044 "./parse.y"
{
yyerror ("Missing identifier"); RECOVER;
yyval.node = NULL_TREE;
;
break;}
case 127:
#line 1048 "./parse.y"
#line 1049 "./parse.y"
{
yyerror ("Missing identifier"); RECOVER;
yyval.node = NULL_TREE;
;
break;}
case 128:
#line 1056 "./parse.y"
#line 1057 "./parse.y"
{
check_modifiers ("Illegal modifier `%s'. Only `final' was expected here",
yyvsp[0].value, ACC_FINAL);
......@@ -3413,49 +3414,49 @@ case 128:
;
break;}
case 129:
#line 1065 "./parse.y"
#line 1066 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 130:
#line 1067 "./parse.y"
#line 1068 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 131:
#line 1069 "./parse.y"
#line 1070 "./parse.y"
{yyerror ("Missing class type term"); RECOVER;;
break;}
case 132:
#line 1074 "./parse.y"
#line 1075 "./parse.y"
{ yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ;
break;}
case 133:
#line 1076 "./parse.y"
#line 1077 "./parse.y"
{ yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ;
break;}
case 134:
#line 1078 "./parse.y"
#line 1079 "./parse.y"
{yyerror ("Missing class type term"); RECOVER;;
break;}
case 137:
#line 1085 "./parse.y"
#line 1086 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 138:
#line 1091 "./parse.y"
#line 1092 "./parse.y"
{
TREE_CHAIN (yyvsp[0].node) = CPC_STATIC_INITIALIZER_STMT (ctxp);
SET_CPC_STATIC_INITIALIZER_STMT (ctxp, yyvsp[0].node);
;
break;}
case 139:
#line 1096 "./parse.y"
#line 1097 "./parse.y"
{
TREE_CHAIN (yyvsp[-1].node) = CPC_STATIC_INITIALIZER_STMT (ctxp);
SET_CPC_STATIC_INITIALIZER_STMT (ctxp, yyvsp[-1].node);
;
break;}
case 140:
#line 1104 "./parse.y"
#line 1105 "./parse.y"
{
check_modifiers ("Illegal modifier `%s' for static initializer", yyvsp[0].value, ACC_STATIC);
/* Can't have a static initializer in an innerclass */
......@@ -3469,56 +3470,56 @@ case 140:
;
break;}
case 141:
#line 1120 "./parse.y"
#line 1121 "./parse.y"
{
current_function_decl = yyvsp[0].node;
source_start_java_method (current_function_decl);
;
break;}
case 142:
#line 1125 "./parse.y"
#line 1126 "./parse.y"
{ finish_method_declaration (yyvsp[0].node); ;
break;}
case 143:
#line 1130 "./parse.y"
#line 1131 "./parse.y"
{ yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 144:
#line 1132 "./parse.y"
#line 1133 "./parse.y"
{ yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 145:
#line 1137 "./parse.y"
#line 1138 "./parse.y"
{
ctxp->formal_parameter_number = 0;
yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE);
;
break;}
case 146:
#line 1142 "./parse.y"
#line 1143 "./parse.y"
{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 147:
#line 1150 "./parse.y"
#line 1151 "./parse.y"
{
BLOCK_EXPR_BODY (yyvsp[0].node) = empty_stmt_node;
yyval.node = yyvsp[0].node;
;
break;}
case 148:
#line 1155 "./parse.y"
#line 1156 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 149:
#line 1157 "./parse.y"
#line 1158 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 150:
#line 1159 "./parse.y"
#line 1160 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 153:
#line 1169 "./parse.y"
#line 1170 "./parse.y"
{
yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE);
yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node);
......@@ -3526,7 +3527,7 @@ case 153:
;
break;}
case 154:
#line 1175 "./parse.y"
#line 1176 "./parse.y"
{
yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node);
yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node);
......@@ -3534,15 +3535,15 @@ case 154:
;
break;}
case 155:
#line 1183 "./parse.y"
#line 1184 "./parse.y"
{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;
break;}
case 156:
#line 1185 "./parse.y"
#line 1186 "./parse.y"
{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;
break;}
case 157:
#line 1190 "./parse.y"
#line 1191 "./parse.y"
{
tree wfl = build_wfl_node (this_identifier_node);
EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location;
......@@ -3550,7 +3551,7 @@ case 157:
;
break;}
case 158:
#line 1196 "./parse.y"
#line 1197 "./parse.y"
{
tree wfl = build_wfl_node (super_identifier_node);
EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location;
......@@ -3558,109 +3559,109 @@ case 158:
;
break;}
case 159:
#line 1207 "./parse.y"
#line 1208 "./parse.y"
{ create_interface (0, yyvsp[0].node, NULL_TREE); ;
break;}
case 161:
#line 1210 "./parse.y"
#line 1211 "./parse.y"
{ create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ;
break;}
case 163:
#line 1213 "./parse.y"
#line 1214 "./parse.y"
{ create_interface (0, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 165:
#line 1216 "./parse.y"
#line 1217 "./parse.y"
{ create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 167:
#line 1219 "./parse.y"
#line 1220 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 168:
#line 1221 "./parse.y"
#line 1222 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 169:
#line 1226 "./parse.y"
#line 1227 "./parse.y"
{
ctxp->interface_number = 1;
yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);
;
break;}
case 170:
#line 1231 "./parse.y"
#line 1232 "./parse.y"
{
ctxp->interface_number++;
yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));
;
break;}
case 171:
#line 1236 "./parse.y"
#line 1237 "./parse.y"
{yyerror ("Invalid interface type"); RECOVER;;
break;}
case 172:
#line 1238 "./parse.y"
#line 1239 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 173:
#line 1243 "./parse.y"
#line 1244 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 174:
#line 1245 "./parse.y"
#line 1246 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 179:
#line 1257 "./parse.y"
#line 1258 "./parse.y"
{ end_class_declaration (1); ;
break;}
case 180:
#line 1259 "./parse.y"
#line 1260 "./parse.y"
{ end_class_declaration (1); ;
break;}
case 182:
#line 1268 "./parse.y"
#line 1269 "./parse.y"
{
check_abstract_method_header (yyvsp[-1].node);
current_function_decl = NULL_TREE; /* FIXME ? */
;
break;}
case 183:
#line 1273 "./parse.y"
#line 1274 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 184:
#line 1279 "./parse.y"
#line 1280 "./parse.y"
{ yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ;
break;}
case 185:
#line 1281 "./parse.y"
#line 1282 "./parse.y"
{ yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ;
break;}
case 186:
#line 1283 "./parse.y"
#line 1284 "./parse.y"
{ yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ;
break;}
case 187:
#line 1288 "./parse.y"
#line 1289 "./parse.y"
{
yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node),
yyvsp[0].node, NULL_TREE);
;
break;}
case 188:
#line 1293 "./parse.y"
#line 1294 "./parse.y"
{
yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node);
;
break;}
case 189:
#line 1297 "./parse.y"
#line 1298 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 190:
#line 1303 "./parse.y"
#line 1304 "./parse.y"
{
/* Store the location of the `}' when doing xrefs */
if (current_function_decl && flag_emit_xref)
......@@ -3670,15 +3671,15 @@ case 190:
;
break;}
case 191:
#line 1311 "./parse.y"
#line 1312 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 192:
#line 1316 "./parse.y"
#line 1317 "./parse.y"
{ enter_block (); ;
break;}
case 193:
#line 1321 "./parse.y"
#line 1322 "./parse.y"
{
maybe_absorb_scoping_blocks ();
/* Store the location of the `}' when doing xrefs */
......@@ -3689,38 +3690,38 @@ case 193:
;
break;}
case 197:
#line 1339 "./parse.y"
#line 1340 "./parse.y"
{ java_method_add_stmt (current_function_decl, yyvsp[0].node); ;
break;}
case 198:
#line 1341 "./parse.y"
#line 1342 "./parse.y"
{
LOCAL_CLASS_P (TREE_TYPE (GET_CPC ())) = 1;
end_class_declaration (1);
;
break;}
case 200:
#line 1353 "./parse.y"
#line 1354 "./parse.y"
{ declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 201:
#line 1355 "./parse.y"
#line 1356 "./parse.y"
{ declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 207:
#line 1365 "./parse.y"
#line 1366 "./parse.y"
{ yyval.node = exit_block (); ;
break;}
case 212:
#line 1374 "./parse.y"
#line 1375 "./parse.y"
{ yyval.node = exit_block (); ;
break;}
case 224:
#line 1393 "./parse.y"
#line 1394 "./parse.y"
{ yyval.node = empty_stmt_node; ;
break;}
case 225:
#line 1398 "./parse.y"
#line 1399 "./parse.y"
{
yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node),
EXPR_WFL_NODE (yyvsp[-1].node));
......@@ -3730,19 +3731,19 @@ case 225:
;
break;}
case 226:
#line 1409 "./parse.y"
#line 1410 "./parse.y"
{ yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 227:
#line 1411 "./parse.y"
#line 1412 "./parse.y"
{yyerror ("':' expected"); RECOVER;;
break;}
case 228:
#line 1416 "./parse.y"
#line 1417 "./parse.y"
{ yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 229:
#line 1423 "./parse.y"
#line 1424 "./parse.y"
{
/* We have a statement. Generate a WFL around it so
we can debug it */
......@@ -3753,7 +3754,7 @@ case 229:
;
break;}
case 230:
#line 1432 "./parse.y"
#line 1433 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid expression statement");
......@@ -3761,7 +3762,7 @@ case 230:
;
break;}
case 231:
#line 1438 "./parse.y"
#line 1439 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid expression statement");
......@@ -3769,7 +3770,7 @@ case 231:
;
break;}
case 232:
#line 1444 "./parse.y"
#line 1445 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid expression statement");
......@@ -3777,82 +3778,82 @@ case 232:
;
break;}
case 233:
#line 1450 "./parse.y"
#line 1451 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 234:
#line 1452 "./parse.y"
#line 1453 "./parse.y"
{
parse_ctor_invocation_error ();
RECOVER;
;
break;}
case 235:
#line 1457 "./parse.y"
#line 1458 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 236:
#line 1459 "./parse.y"
#line 1460 "./parse.y"
{
parse_ctor_invocation_error ();
RECOVER;
;
break;}
case 237:
#line 1464 "./parse.y"
#line 1465 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 238:
#line 1466 "./parse.y"
#line 1467 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 239:
#line 1468 "./parse.y"
#line 1469 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 240:
#line 1470 "./parse.y"
#line 1471 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 241:
#line 1472 "./parse.y"
#line 1473 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 249:
#line 1487 "./parse.y"
#line 1488 "./parse.y"
{
yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node,
yyvsp[0].node, NULL_TREE);
;
break;}
case 250:
#line 1492 "./parse.y"
#line 1493 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 251:
#line 1494 "./parse.y"
#line 1495 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 252:
#line 1496 "./parse.y"
#line 1497 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 253:
#line 1501 "./parse.y"
#line 1502 "./parse.y"
{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 254:
#line 1506 "./parse.y"
#line 1507 "./parse.y"
{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 255:
#line 1511 "./parse.y"
#line 1512 "./parse.y"
{
enter_block ();
;
break;}
case 256:
#line 1515 "./parse.y"
#line 1516 "./parse.y"
{
/* Make into "proper list" of COMPOUND_EXPRs.
I.e. make the last statment also have its own
......@@ -3863,42 +3864,42 @@ case 256:
;
break;}
case 257:
#line 1527 "./parse.y"
#line 1528 "./parse.y"
{
yyval.node = build (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE);
EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;
;
break;}
case 258:
#line 1532 "./parse.y"
#line 1533 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 259:
#line 1534 "./parse.y"
#line 1535 "./parse.y"
{yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;
break;}
case 260:
#line 1536 "./parse.y"
#line 1537 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 261:
#line 1544 "./parse.y"
#line 1545 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 262:
#line 1546 "./parse.y"
#line 1547 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 263:
#line 1548 "./parse.y"
#line 1549 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 264:
#line 1550 "./parse.y"
#line 1551 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 270:
#line 1569 "./parse.y"
#line 1570 "./parse.y"
{
tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node);
EXPR_WFL_LINECOL (lab) = yyvsp[-2].operator.location;
......@@ -3906,7 +3907,7 @@ case 270:
;
break;}
case 271:
#line 1575 "./parse.y"
#line 1576 "./parse.y"
{
tree lab = build1 (DEFAULT_EXPR, NULL_TREE, NULL_TREE);
EXPR_WFL_LINECOL (lab) = yyvsp[-1].operator.location;
......@@ -3914,61 +3915,61 @@ case 271:
;
break;}
case 272:
#line 1581 "./parse.y"
#line 1582 "./parse.y"
{yyerror ("Missing or invalid constant expression"); RECOVER;;
break;}
case 273:
#line 1583 "./parse.y"
#line 1584 "./parse.y"
{yyerror ("':' expected"); RECOVER;;
break;}
case 274:
#line 1585 "./parse.y"
#line 1586 "./parse.y"
{yyerror ("':' expected"); RECOVER;;
break;}
case 275:
#line 1590 "./parse.y"
#line 1591 "./parse.y"
{
tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0);
yyval.node = build_new_loop (body);
;
break;}
case 276:
#line 1598 "./parse.y"
#line 1599 "./parse.y"
{ yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;
break;}
case 277:
#line 1600 "./parse.y"
#line 1601 "./parse.y"
{YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;
break;}
case 278:
#line 1602 "./parse.y"
#line 1603 "./parse.y"
{yyerror ("Missing term and ')' expected"); RECOVER;;
break;}
case 279:
#line 1604 "./parse.y"
#line 1605 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 280:
#line 1609 "./parse.y"
#line 1610 "./parse.y"
{ yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;
break;}
case 281:
#line 1614 "./parse.y"
#line 1615 "./parse.y"
{
tree body = build_loop_body (0, NULL_TREE, 1);
yyval.node = build_new_loop (body);
;
break;}
case 282:
#line 1623 "./parse.y"
#line 1624 "./parse.y"
{ yyval.node = finish_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ;
break;}
case 283:
#line 1628 "./parse.y"
#line 1629 "./parse.y"
{ yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 284:
#line 1630 "./parse.y"
#line 1631 "./parse.y"
{
yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
/* We have not condition, so we get rid of the EXIT_EXPR */
......@@ -3977,23 +3978,23 @@ case 284:
;
break;}
case 285:
#line 1637 "./parse.y"
#line 1638 "./parse.y"
{yyerror ("Invalid control expression"); RECOVER;;
break;}
case 286:
#line 1639 "./parse.y"
#line 1640 "./parse.y"
{yyerror ("Invalid update expression"); RECOVER;;
break;}
case 287:
#line 1641 "./parse.y"
#line 1642 "./parse.y"
{yyerror ("Invalid update expression"); RECOVER;;
break;}
case 288:
#line 1646 "./parse.y"
#line 1647 "./parse.y"
{ yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);;
break;}
case 289:
#line 1648 "./parse.y"
#line 1649 "./parse.y"
{
yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
/* We have not condition, so we get rid of the EXIT_EXPR */
......@@ -4002,7 +4003,7 @@ case 289:
;
break;}
case 290:
#line 1658 "./parse.y"
#line 1659 "./parse.y"
{
/* This scope defined for local variable that may be
defined within the scope of the for loop */
......@@ -4010,15 +4011,15 @@ case 290:
;
break;}
case 291:
#line 1664 "./parse.y"
#line 1665 "./parse.y"
{yyerror ("'(' expected"); DRECOVER(for_1);;
break;}
case 292:
#line 1666 "./parse.y"
#line 1667 "./parse.y"
{yyerror ("Invalid init statement"); RECOVER;;
break;}
case 293:
#line 1671 "./parse.y"
#line 1672 "./parse.y"
{
/* We now declare the loop body. The loop is
declared as a for loop. */
......@@ -4031,11 +4032,11 @@ case 293:
;
break;}
case 294:
#line 1683 "./parse.y"
#line 1684 "./parse.y"
{ yyval.node = empty_stmt_node; ;
break;}
case 295:
#line 1685 "./parse.y"
#line 1686 "./parse.y"
{
/* Init statement recorded within the previously
defined block scope */
......@@ -4043,7 +4044,7 @@ case 295:
;
break;}
case 296:
#line 1691 "./parse.y"
#line 1692 "./parse.y"
{
/* Local variable are recorded within the previously
defined block scope */
......@@ -4051,94 +4052,94 @@ case 296:
;
break;}
case 297:
#line 1697 "./parse.y"
#line 1698 "./parse.y"
{yyerror ("';' expected"); DRECOVER(for_init_1);;
break;}
case 298:
#line 1701 "./parse.y"
#line 1702 "./parse.y"
{yyval.node = empty_stmt_node;;
break;}
case 299:
#line 1703 "./parse.y"
#line 1704 "./parse.y"
{ yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ;
break;}
case 300:
#line 1708 "./parse.y"
#line 1709 "./parse.y"
{ yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ;
break;}
case 301:
#line 1710 "./parse.y"
#line 1711 "./parse.y"
{ yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ;
break;}
case 302:
#line 1712 "./parse.y"
#line 1713 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 303:
#line 1717 "./parse.y"
#line 1718 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ;
break;}
case 304:
#line 1719 "./parse.y"
#line 1720 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ;
break;}
case 305:
#line 1721 "./parse.y"
#line 1722 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 306:
#line 1723 "./parse.y"
#line 1724 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 307:
#line 1728 "./parse.y"
#line 1729 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ;
break;}
case 308:
#line 1730 "./parse.y"
#line 1731 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ;
break;}
case 309:
#line 1732 "./parse.y"
#line 1733 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 310:
#line 1734 "./parse.y"
#line 1735 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 311:
#line 1739 "./parse.y"
#line 1740 "./parse.y"
{ yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ;
break;}
case 312:
#line 1741 "./parse.y"
#line 1742 "./parse.y"
{ yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ;
break;}
case 313:
#line 1743 "./parse.y"
#line 1744 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 314:
#line 1745 "./parse.y"
#line 1746 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 315:
#line 1750 "./parse.y"
#line 1751 "./parse.y"
{
yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node);
EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;
;
break;}
case 316:
#line 1755 "./parse.y"
#line 1756 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 317:
#line 1757 "./parse.y"
#line 1758 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 318:
#line 1762 "./parse.y"
#line 1763 "./parse.y"
{
yyval.node = build (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
EXPR_WFL_LINECOL (yyval.node) =
......@@ -4146,23 +4147,23 @@ case 318:
;
break;}
case 319:
#line 1768 "./parse.y"
#line 1769 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 320:
#line 1770 "./parse.y"
#line 1771 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 321:
#line 1772 "./parse.y"
#line 1773 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 322:
#line 1774 "./parse.y"
#line 1775 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 323:
#line 1779 "./parse.y"
#line 1780 "./parse.y"
{
check_modifiers (
"Illegal modifier `%s'. Only `synchronized' was expected here",
......@@ -4173,33 +4174,33 @@ case 323:
;
break;}
case 324:
#line 1791 "./parse.y"
#line 1792 "./parse.y"
{ yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 325:
#line 1793 "./parse.y"
#line 1794 "./parse.y"
{ yyval.node = build_try_finally_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 326:
#line 1795 "./parse.y"
#line 1796 "./parse.y"
{ yyval.node = build_try_finally_statement
(yyvsp[-3].operator.location, build_try_statement (yyvsp[-3].operator.location,
yyvsp[-2].node, yyvsp[-1].node), yyvsp[0].node);
;
break;}
case 327:
#line 1800 "./parse.y"
#line 1801 "./parse.y"
{yyerror ("'{' expected"); DRECOVER (try_statement);;
break;}
case 329:
#line 1806 "./parse.y"
#line 1807 "./parse.y"
{
TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node;
yyval.node = yyvsp[0].node;
;
break;}
case 330:
#line 1814 "./parse.y"
#line 1815 "./parse.y"
{
java_method_add_stmt (current_function_decl, yyvsp[0].node);
exit_block ();
......@@ -4207,7 +4208,7 @@ case 330:
;
break;}
case 331:
#line 1822 "./parse.y"
#line 1823 "./parse.y"
{
/* We add a block to define a scope for
formal_parameter (CCBP). The formal parameter is
......@@ -4225,96 +4226,96 @@ case 331:
;
break;}
case 332:
#line 1838 "./parse.y"
#line 1839 "./parse.y"
{yyerror ("'(' expected"); RECOVER; yyval.node = NULL_TREE;;
break;}
case 333:
#line 1840 "./parse.y"
#line 1841 "./parse.y"
{
yyerror ("Missing term or ')' expected");
RECOVER; yyval.node = NULL_TREE;
;
break;}
case 334:
#line 1845 "./parse.y"
#line 1846 "./parse.y"
{yyerror ("Missing term"); RECOVER; yyval.node = NULL_TREE;;
break;}
case 335:
#line 1850 "./parse.y"
#line 1851 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 336:
#line 1852 "./parse.y"
#line 1853 "./parse.y"
{yyerror ("'{' expected"); RECOVER; ;
break;}
case 340:
#line 1864 "./parse.y"
#line 1865 "./parse.y"
{ yyval.node = build_this (yyvsp[0].operator.location); ;
break;}
case 341:
#line 1866 "./parse.y"
#line 1867 "./parse.y"
{yyval.node = yyvsp[-1].node;;
break;}
case 347:
#line 1876 "./parse.y"
#line 1877 "./parse.y"
{
tree wfl = build_wfl_node (this_identifier_node);
yyval.node = make_qualified_primary (yyvsp[-2].node, wfl, EXPR_WFL_LINECOL (yyvsp[-2].node));
;
break;}
case 348:
#line 1881 "./parse.y"
#line 1882 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 349:
#line 1883 "./parse.y"
#line 1884 "./parse.y"
{yyerror ("'class' or 'this' expected" ); RECOVER;;
break;}
case 350:
#line 1885 "./parse.y"
#line 1886 "./parse.y"
{yyerror ("'class' expected" ); RECOVER;;
break;}
case 351:
#line 1887 "./parse.y"
#line 1888 "./parse.y"
{yyerror ("'class' expected" ); RECOVER;;
break;}
case 352:
#line 1895 "./parse.y"
#line 1896 "./parse.y"
{
yyval.node = build_java_array_type (yyvsp[-2].node, -1);
CLASS_LOADED_P (yyval.node) = 1;
;
break;}
case 353:
#line 1900 "./parse.y"
#line 1901 "./parse.y"
{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
break;}
case 354:
#line 1910 "./parse.y"
#line 1911 "./parse.y"
{ yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ;
break;}
case 355:
#line 1912 "./parse.y"
#line 1913 "./parse.y"
{ yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ;
break;}
case 356:
#line 1914 "./parse.y"
#line 1915 "./parse.y"
{ yyval.node = build_class_ref (yyvsp[-2].node); ;
break;}
case 357:
#line 1916 "./parse.y"
#line 1917 "./parse.y"
{ yyval.node = build_class_ref (void_type_node); ;
break;}
case 358:
#line 1921 "./parse.y"
#line 1922 "./parse.y"
{ yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 359:
#line 1923 "./parse.y"
#line 1924 "./parse.y"
{ yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ;
break;}
case 361:
#line 1929 "./parse.y"
#line 1930 "./parse.y"
{
tree ctor = build_new_invocation (yyvsp[-2].node, NULL_TREE);
yyval.node = make_qualified_primary (yyvsp[-3].node, ctor,
......@@ -4322,7 +4323,7 @@ case 361:
;
break;}
case 363:
#line 1936 "./parse.y"
#line 1937 "./parse.y"
{
tree ctor = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node);
yyval.node = make_qualified_primary (yyvsp[-4].node, ctor,
......@@ -4330,35 +4331,35 @@ case 363:
;
break;}
case 365:
#line 1943 "./parse.y"
#line 1944 "./parse.y"
{yyerror ("'(' expected"); DRECOVER(new_1);;
break;}
case 366:
#line 1945 "./parse.y"
#line 1946 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 367:
#line 1947 "./parse.y"
#line 1948 "./parse.y"
{yyerror ("')' or term expected"); RECOVER;;
break;}
case 368:
#line 1949 "./parse.y"
#line 1950 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 369:
#line 1951 "./parse.y"
#line 1952 "./parse.y"
{YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;;
break;}
case 370:
#line 1953 "./parse.y"
#line 1954 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 371:
#line 1963 "./parse.y"
#line 1964 "./parse.y"
{ create_anonymous_class (yyvsp[-4].operator.location, yyvsp[-3].node); ;
break;}
case 372:
#line 1965 "./parse.y"
#line 1966 "./parse.y"
{
tree id = build_wfl_node (DECL_NAME (GET_CPC ()));
EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-5].node);
......@@ -4391,11 +4392,11 @@ case 372:
;
break;}
case 373:
#line 1996 "./parse.y"
#line 1997 "./parse.y"
{ create_anonymous_class (yyvsp[-3].operator.location, yyvsp[-2].node); ;
break;}
case 374:
#line 1998 "./parse.y"
#line 1999 "./parse.y"
{
tree id = build_wfl_node (DECL_NAME (GET_CPC ()));
EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-4].node);
......@@ -4410,49 +4411,49 @@ case 374:
;
break;}
case 375:
#line 2014 "./parse.y"
#line 2015 "./parse.y"
{ yyval.node = yyvsp[-2].node; ;
break;}
case 376:
#line 2016 "./parse.y"
#line 2017 "./parse.y"
{ yyval.node = yyvsp[-2].node; ;
break;}
case 377:
#line 2021 "./parse.y"
#line 2022 "./parse.y"
{
yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE);
ctxp->formal_parameter_number = 1;
;
break;}
case 378:
#line 2026 "./parse.y"
#line 2027 "./parse.y"
{
ctxp->formal_parameter_number += 1;
yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node);
;
break;}
case 379:
#line 2031 "./parse.y"
#line 2032 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 380:
#line 2036 "./parse.y"
#line 2037 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
break;}
case 381:
#line 2038 "./parse.y"
#line 2039 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
break;}
case 382:
#line 2040 "./parse.y"
#line 2041 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
break;}
case 383:
#line 2042 "./parse.y"
#line 2043 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
break;}
case 384:
#line 2046 "./parse.y"
#line 2047 "./parse.y"
{
char *sig;
while (CURRENT_OSB (ctxp)--)
......@@ -4463,7 +4464,7 @@ case 384:
;
break;}
case 385:
#line 2055 "./parse.y"
#line 2056 "./parse.y"
{
tree type = yyvsp[-2].node;
while (CURRENT_OSB (ctxp)--)
......@@ -4473,34 +4474,34 @@ case 385:
;
break;}
case 386:
#line 2063 "./parse.y"
#line 2064 "./parse.y"
{yyerror ("'[' expected"); DRECOVER ("]");;
break;}
case 387:
#line 2065 "./parse.y"
#line 2066 "./parse.y"
{yyerror ("']' expected"); RECOVER;;
break;}
case 388:
#line 2070 "./parse.y"
#line 2071 "./parse.y"
{ yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ;
break;}
case 389:
#line 2072 "./parse.y"
#line 2073 "./parse.y"
{ yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ;
break;}
case 390:
#line 2077 "./parse.y"
#line 2078 "./parse.y"
{
EXPR_WFL_LINECOL (yyvsp[-1].node) = yyvsp[-2].operator.location;
yyval.node = yyvsp[-1].node;
;
break;}
case 391:
#line 2082 "./parse.y"
#line 2083 "./parse.y"
{yyerror ("']' expected"); RECOVER;;
break;}
case 392:
#line 2084 "./parse.y"
#line 2085 "./parse.y"
{
yyerror ("Missing term");
yyerror ("']' expected");
......@@ -4508,7 +4509,7 @@ case 392:
;
break;}
case 393:
#line 2093 "./parse.y"
#line 2094 "./parse.y"
{
int allocate = 0;
/* If not initialized, allocate memory for the osb
......@@ -4536,19 +4537,19 @@ case 393:
;
break;}
case 394:
#line 2119 "./parse.y"
#line 2120 "./parse.y"
{ CURRENT_OSB (ctxp)++; ;
break;}
case 395:
#line 2121 "./parse.y"
#line 2122 "./parse.y"
{ yyerror ("']' expected"); RECOVER;;
break;}
case 396:
#line 2126 "./parse.y"
#line 2127 "./parse.y"
{ yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;
break;}
case 397:
#line 2130 "./parse.y"
#line 2131 "./parse.y"
{
tree super_wfl =
build_wfl_node (super_identifier_node);
......@@ -4557,19 +4558,19 @@ case 397:
;
break;}
case 398:
#line 2137 "./parse.y"
#line 2138 "./parse.y"
{yyerror ("Field expected"); DRECOVER (super_field_acces);;
break;}
case 399:
#line 2142 "./parse.y"
#line 2143 "./parse.y"
{ yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ;
break;}
case 400:
#line 2144 "./parse.y"
#line 2145 "./parse.y"
{ yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 401:
#line 2146 "./parse.y"
#line 2147 "./parse.y"
{
if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR)
yyval.node = build_this_super_qualified_invocation
......@@ -4582,7 +4583,7 @@ case 401:
;
break;}
case 402:
#line 2157 "./parse.y"
#line 2158 "./parse.y"
{
if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR)
yyval.node = build_this_super_qualified_invocation
......@@ -4595,121 +4596,121 @@ case 402:
;
break;}
case 403:
#line 2168 "./parse.y"
#line 2169 "./parse.y"
{
yyval.node = build_this_super_qualified_invocation
(0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location);
;
break;}
case 404:
#line 2173 "./parse.y"
#line 2174 "./parse.y"
{
yyval.node = build_this_super_qualified_invocation
(0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location);
;
break;}
case 405:
#line 2182 "./parse.y"
#line 2183 "./parse.y"
{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;
break;}
case 406:
#line 2184 "./parse.y"
#line 2185 "./parse.y"
{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;
break;}
case 407:
#line 2189 "./parse.y"
#line 2190 "./parse.y"
{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 408:
#line 2191 "./parse.y"
#line 2192 "./parse.y"
{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 409:
#line 2193 "./parse.y"
#line 2194 "./parse.y"
{
yyerror ("Missing term and ']' expected");
DRECOVER(array_access);
;
break;}
case 410:
#line 2198 "./parse.y"
#line 2199 "./parse.y"
{
yyerror ("']' expected");
DRECOVER(array_access);
;
break;}
case 411:
#line 2203 "./parse.y"
#line 2204 "./parse.y"
{
yyerror ("Missing term and ']' expected");
DRECOVER(array_access);
;
break;}
case 412:
#line 2208 "./parse.y"
#line 2209 "./parse.y"
{
yyerror ("']' expected");
DRECOVER(array_access);
;
break;}
case 417:
#line 2223 "./parse.y"
#line 2224 "./parse.y"
{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
break;}
case 418:
#line 2228 "./parse.y"
#line 2229 "./parse.y"
{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
break;}
case 421:
#line 2235 "./parse.y"
#line 2236 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 422:
#line 2237 "./parse.y"
#line 2238 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 424:
#line 2240 "./parse.y"
#line 2241 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 425:
#line 2242 "./parse.y"
#line 2243 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 426:
#line 2247 "./parse.y"
#line 2248 "./parse.y"
{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
break;}
case 427:
#line 2249 "./parse.y"
#line 2250 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 428:
#line 2254 "./parse.y"
#line 2255 "./parse.y"
{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
break;}
case 429:
#line 2256 "./parse.y"
#line 2257 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 431:
#line 2262 "./parse.y"
#line 2263 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 432:
#line 2264 "./parse.y"
#line 2265 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 434:
#line 2267 "./parse.y"
#line 2268 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 435:
#line 2269 "./parse.y"
#line 2270 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 436:
#line 2274 "./parse.y"
#line 2275 "./parse.y"
{
tree type = yyvsp[-3].node;
while (CURRENT_OSB (ctxp)--)
......@@ -4719,15 +4720,15 @@ case 436:
;
break;}
case 437:
#line 2282 "./parse.y"
#line 2283 "./parse.y"
{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 438:
#line 2284 "./parse.y"
#line 2285 "./parse.y"
{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 439:
#line 2286 "./parse.y"
#line 2287 "./parse.y"
{
const char *ptr;
while (CURRENT_OSB (ctxp)--)
......@@ -4742,11 +4743,11 @@ case 439:
;
break;}
case 440:
#line 2299 "./parse.y"
#line 2300 "./parse.y"
{yyerror ("']' expected, invalid type expression");;
break;}
case 441:
#line 2301 "./parse.y"
#line 2302 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid type expression"); RECOVER;
......@@ -4754,243 +4755,243 @@ case 441:
;
break;}
case 442:
#line 2307 "./parse.y"
#line 2308 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 443:
#line 2309 "./parse.y"
#line 2310 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 444:
#line 2311 "./parse.y"
#line 2312 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 446:
#line 2317 "./parse.y"
#line 2318 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token),
yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 447:
#line 2322 "./parse.y"
#line 2323 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 448:
#line 2327 "./parse.y"
#line 2328 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 449:
#line 2332 "./parse.y"
#line 2333 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 450:
#line 2334 "./parse.y"
#line 2335 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 451:
#line 2336 "./parse.y"
#line 2337 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 453:
#line 2342 "./parse.y"
#line 2343 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 454:
#line 2347 "./parse.y"
#line 2348 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 455:
#line 2352 "./parse.y"
#line 2353 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 456:
#line 2354 "./parse.y"
#line 2355 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 458:
#line 2360 "./parse.y"
#line 2361 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 459:
#line 2365 "./parse.y"
#line 2366 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 460:
#line 2370 "./parse.y"
#line 2371 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 461:
#line 2375 "./parse.y"
#line 2376 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 462:
#line 2377 "./parse.y"
#line 2378 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 463:
#line 2379 "./parse.y"
#line 2380 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 465:
#line 2385 "./parse.y"
#line 2386 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 466:
#line 2390 "./parse.y"
#line 2391 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 467:
#line 2395 "./parse.y"
#line 2396 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 468:
#line 2400 "./parse.y"
#line 2401 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 469:
#line 2405 "./parse.y"
#line 2406 "./parse.y"
{ yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 470:
#line 2407 "./parse.y"
#line 2408 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 471:
#line 2409 "./parse.y"
#line 2410 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 472:
#line 2411 "./parse.y"
#line 2412 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 473:
#line 2413 "./parse.y"
#line 2414 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 474:
#line 2415 "./parse.y"
#line 2416 "./parse.y"
{yyerror ("Invalid reference type"); RECOVER;;
break;}
case 476:
#line 2421 "./parse.y"
#line 2422 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 477:
#line 2426 "./parse.y"
#line 2427 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 478:
#line 2431 "./parse.y"
#line 2432 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 479:
#line 2433 "./parse.y"
#line 2434 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 481:
#line 2439 "./parse.y"
#line 2440 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 482:
#line 2444 "./parse.y"
#line 2445 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 484:
#line 2450 "./parse.y"
#line 2451 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 485:
#line 2455 "./parse.y"
#line 2456 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 487:
#line 2461 "./parse.y"
#line 2462 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 488:
#line 2466 "./parse.y"
#line 2467 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 490:
#line 2472 "./parse.y"
#line 2473 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 491:
#line 2477 "./parse.y"
#line 2478 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 493:
#line 2483 "./parse.y"
#line 2484 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 494:
#line 2488 "./parse.y"
#line 2489 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 496:
#line 2494 "./parse.y"
#line 2495 "./parse.y"
{
yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);
EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location;
;
break;}
case 497:
#line 2499 "./parse.y"
#line 2500 "./parse.y"
{
YYERROR_NOW;
yyerror ("Missing term");
......@@ -4998,19 +4999,19 @@ case 497:
;
break;}
case 498:
#line 2505 "./parse.y"
#line 2506 "./parse.y"
{yyerror ("Missing term"); DRECOVER (2);;
break;}
case 499:
#line 2507 "./parse.y"
#line 2508 "./parse.y"
{yyerror ("Missing term"); DRECOVER (3);;
break;}
case 502:
#line 2517 "./parse.y"
#line 2518 "./parse.y"
{ yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 503:
#line 2519 "./parse.y"
#line 2520 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Missing term");
......@@ -5239,7 +5240,7 @@ yyerrhandle:
}
return 1;
}
#line 2545 "./parse.y"
#line 2546 "./parse.y"
......
......@@ -317,6 +317,7 @@ static void add_inner_class_fields PARAMS ((tree, tree));
static tree build_dot_class_method PARAMS ((tree));
static tree build_dot_class_method_invocation PARAMS ((tree));
static void create_new_parser_context PARAMS ((int));
/* Number of error found so far. */
int java_error_count;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment