| Index: gdb/jv-exp.c
|
| diff --git a/gdb/jv-exp.c b/gdb/jv-exp.c
|
| index a3faf0939d48bb1fa747eb0826a4a572c0a2ddff..2cabab85fd319f2d524c1a9d6394928ae94e6fe2 100644
|
| --- a/gdb/jv-exp.c
|
| +++ b/gdb/jv-exp.c
|
| @@ -186,6 +186,12 @@
|
| #define yygindex java_yygindex
|
| #define yytable java_yytable
|
| #define yycheck java_yycheck
|
| +#define yyss java_yyss
|
| +#define yysslim java_yysslim
|
| +#define yyssp java_yyssp
|
| +#define yystacksize java_yystacksize
|
| +#define yyvs java_yyvs
|
| +#define yyvsp java_yyvsp
|
|
|
| #ifndef YYDEBUG
|
| #define YYDEBUG 1 /* Default to yydebug support */
|
| @@ -222,7 +228,7 @@ static void insert_exp (int, struct expression *);
|
| #endif
|
|
|
| #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
| -#line 128 "jv-exp.y"
|
| +#line 134 "jv-exp.y"
|
| typedef union YYSTYPE {
|
| LONGEST lval;
|
| struct {
|
| @@ -244,7 +250,7 @@ typedef union YYSTYPE {
|
| int *ivec;
|
| } YYSTYPE;
|
| /* Line 191 of yacc.c. */
|
| -#line 248 "jv-exp.c"
|
| +#line 254 "jv-exp.c"
|
| # define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
| # define YYSTYPE_IS_DECLARED 1
|
| # define YYSTYPE_IS_TRIVIAL 1
|
| @@ -253,14 +259,14 @@ typedef union YYSTYPE {
|
|
|
|
|
| /* Copy the second part of user declarations. */
|
| -#line 149 "jv-exp.y"
|
| +#line 155 "jv-exp.y"
|
|
|
| /* YYSTYPE gets defined by %union */
|
| static int parse_number (char *, int, int, YYSTYPE *);
|
|
|
|
|
| /* Line 214 of yacc.c. */
|
| -#line 264 "jv-exp.c"
|
| +#line 270 "jv-exp.c"
|
|
|
| #if ! defined (yyoverflow) || YYERROR_VERBOSE
|
|
|
| @@ -486,20 +492,20 @@ static const yysigned_char yyrhs[] =
|
| /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
| static const unsigned short yyrline[] =
|
| {
|
| - 0, 205, 205, 206, 209, 218, 219, 223, 232, 237,
|
| - 245, 250, 255, 266, 267, 272, 273, 277, 279, 281,
|
| - 283, 285, 290, 292, 304, 309, 313, 315, 320, 321,
|
| - 325, 326, 330, 331, 335, 358, 359, 364, 365, 369,
|
| - 370, 371, 372, 373, 374, 375, 383, 388, 393, 399,
|
| - 401, 407, 408, 412, 415, 421, 422, 426, 430, 432,
|
| - 437, 439, 443, 445, 451, 457, 456, 462, 464, 469,
|
| - 486, 488, 493, 494, 496, 498, 499, 503, 508, 513,
|
| - 514, 515, 516, 518, 520, 524, 529, 534, 535, 537,
|
| - 539, 543, 547, 567, 575, 576, 578, 580, 585, 586,
|
| - 588, 593, 594, 596, 602, 603, 605, 607, 609, 615,
|
| - 616, 618, 623, 624, 629, 630, 634, 635, 640, 641,
|
| - 646, 647, 652, 653, 658, 659, 663, 665, 672, 674,
|
| - 676, 677, 682
|
| + 0, 211, 211, 212, 215, 224, 225, 229, 238, 243,
|
| + 251, 256, 261, 272, 273, 278, 279, 283, 285, 287,
|
| + 289, 291, 296, 298, 310, 315, 319, 321, 326, 327,
|
| + 331, 332, 336, 337, 341, 364, 365, 370, 371, 375,
|
| + 376, 377, 378, 379, 380, 381, 389, 394, 399, 405,
|
| + 407, 413, 414, 418, 421, 427, 428, 432, 436, 438,
|
| + 443, 445, 449, 451, 457, 463, 462, 468, 470, 475,
|
| + 492, 494, 499, 500, 502, 504, 505, 509, 514, 519,
|
| + 520, 521, 522, 524, 526, 530, 535, 540, 541, 543,
|
| + 545, 549, 553, 573, 581, 582, 584, 586, 591, 592,
|
| + 594, 599, 600, 602, 608, 609, 611, 613, 615, 621,
|
| + 622, 624, 629, 630, 635, 636, 640, 641, 646, 647,
|
| + 652, 653, 658, 659, 664, 665, 669, 671, 678, 680,
|
| + 682, 683, 688
|
| };
|
| #endif
|
|
|
| @@ -1390,7 +1396,7 @@ yyreduce:
|
| switch (yyn)
|
| {
|
| case 4:
|
| -#line 210 "jv-exp.y"
|
| +#line 216 "jv-exp.y"
|
| {
|
| write_exp_elt_opcode(OP_TYPE);
|
| write_exp_elt_type(yyvsp[0].tval);
|
| @@ -1399,7 +1405,7 @@ yyreduce:
|
| break;
|
|
|
| case 7:
|
| -#line 224 "jv-exp.y"
|
| +#line 230 "jv-exp.y"
|
| {
|
| write_exp_elt_opcode (OP_STRING);
|
| write_exp_string (yyvsp[0].sval);
|
| @@ -1408,7 +1414,7 @@ yyreduce:
|
| break;
|
|
|
| case 8:
|
| -#line 233 "jv-exp.y"
|
| +#line 239 "jv-exp.y"
|
| { write_exp_elt_opcode (OP_LONG);
|
| write_exp_elt_type (yyvsp[0].typed_val_int.type);
|
| write_exp_elt_longcst ((LONGEST)(yyvsp[0].typed_val_int.val));
|
| @@ -1416,7 +1422,7 @@ yyreduce:
|
| break;
|
|
|
| case 9:
|
| -#line 238 "jv-exp.y"
|
| +#line 244 "jv-exp.y"
|
| { YYSTYPE val;
|
| parse_number (yyvsp[0].sval.ptr, yyvsp[0].sval.length, 0, &val);
|
| write_exp_elt_opcode (OP_LONG);
|
| @@ -1427,7 +1433,7 @@ yyreduce:
|
| break;
|
|
|
| case 10:
|
| -#line 246 "jv-exp.y"
|
| +#line 252 "jv-exp.y"
|
| { write_exp_elt_opcode (OP_DOUBLE);
|
| write_exp_elt_type (yyvsp[0].typed_val_float.type);
|
| write_exp_elt_dblcst (yyvsp[0].typed_val_float.dval);
|
| @@ -1435,7 +1441,7 @@ yyreduce:
|
| break;
|
|
|
| case 11:
|
| -#line 251 "jv-exp.y"
|
| +#line 257 "jv-exp.y"
|
| { write_exp_elt_opcode (OP_LONG);
|
| write_exp_elt_type (parse_java_type->builtin_boolean);
|
| write_exp_elt_longcst ((LONGEST)yyvsp[0].lval);
|
| @@ -1443,62 +1449,62 @@ yyreduce:
|
| break;
|
|
|
| case 14:
|
| -#line 268 "jv-exp.y"
|
| +#line 274 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_boolean; }
|
| break;
|
|
|
| case 17:
|
| -#line 278 "jv-exp.y"
|
| +#line 284 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_byte; }
|
| break;
|
|
|
| case 18:
|
| -#line 280 "jv-exp.y"
|
| +#line 286 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_short; }
|
| break;
|
|
|
| case 19:
|
| -#line 282 "jv-exp.y"
|
| +#line 288 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_int; }
|
| break;
|
|
|
| case 20:
|
| -#line 284 "jv-exp.y"
|
| +#line 290 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_long; }
|
| break;
|
|
|
| case 21:
|
| -#line 286 "jv-exp.y"
|
| +#line 292 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_char; }
|
| break;
|
|
|
| case 22:
|
| -#line 291 "jv-exp.y"
|
| +#line 297 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_float; }
|
| break;
|
|
|
| case 23:
|
| -#line 293 "jv-exp.y"
|
| +#line 299 "jv-exp.y"
|
| { yyval.tval = parse_java_type->builtin_double; }
|
| break;
|
|
|
| case 24:
|
| -#line 305 "jv-exp.y"
|
| +#line 311 "jv-exp.y"
|
| { yyval.tval = java_type_from_name (yyvsp[0].sval); }
|
| break;
|
|
|
| case 26:
|
| -#line 314 "jv-exp.y"
|
| +#line 320 "jv-exp.y"
|
| { yyval.tval = java_array_type (yyvsp[-1].tval, yyvsp[0].lval); }
|
| break;
|
|
|
| case 27:
|
| -#line 316 "jv-exp.y"
|
| +#line 322 "jv-exp.y"
|
| { yyval.tval = java_array_type (java_type_from_name (yyvsp[-1].sval), yyvsp[0].lval); }
|
| break;
|
|
|
| case 34:
|
| -#line 336 "jv-exp.y"
|
| +#line 342 "jv-exp.y"
|
| { yyval.sval.length = yyvsp[-2].sval.length + yyvsp[0].sval.length + 1;
|
| if (yyvsp[-2].sval.ptr + yyvsp[-2].sval.length + 1 == yyvsp[0].sval.ptr
|
| && yyvsp[-2].sval.ptr[yyvsp[-2].sval.length] == '.')
|
| @@ -1513,12 +1519,12 @@ yyreduce:
|
| break;
|
|
|
| case 36:
|
| -#line 360 "jv-exp.y"
|
| +#line 366 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_COMMA); }
|
| break;
|
|
|
| case 45:
|
| -#line 376 "jv-exp.y"
|
| +#line 382 "jv-exp.y"
|
| { write_exp_elt_opcode (OP_ARRAY);
|
| write_exp_elt_longcst ((LONGEST) 0);
|
| write_exp_elt_longcst ((LONGEST) yyvsp[0].lval);
|
| @@ -1526,102 +1532,102 @@ yyreduce:
|
| break;
|
|
|
| case 46:
|
| -#line 384 "jv-exp.y"
|
| +#line 390 "jv-exp.y"
|
| { start_arglist (); }
|
| break;
|
|
|
| case 47:
|
| -#line 389 "jv-exp.y"
|
| +#line 395 "jv-exp.y"
|
| { yyval.lval = end_arglist () - 1; }
|
| break;
|
|
|
| case 48:
|
| -#line 394 "jv-exp.y"
|
| +#line 400 "jv-exp.y"
|
| { internal_error (__FILE__, __LINE__,
|
| _("FIXME - ClassInstanceCreationExpression")); }
|
| break;
|
|
|
| case 49:
|
| -#line 400 "jv-exp.y"
|
| +#line 406 "jv-exp.y"
|
| { arglist_len = 1; }
|
| break;
|
|
|
| case 50:
|
| -#line 402 "jv-exp.y"
|
| +#line 408 "jv-exp.y"
|
| { arglist_len++; }
|
| break;
|
|
|
| case 51:
|
| -#line 407 "jv-exp.y"
|
| +#line 413 "jv-exp.y"
|
| { arglist_len = 0; }
|
| break;
|
|
|
| case 53:
|
| -#line 413 "jv-exp.y"
|
| +#line 419 "jv-exp.y"
|
| { internal_error (__FILE__, __LINE__,
|
| _("FIXME - ArrayCreationExpression")); }
|
| break;
|
|
|
| case 54:
|
| -#line 416 "jv-exp.y"
|
| +#line 422 "jv-exp.y"
|
| { internal_error (__FILE__, __LINE__,
|
| _("FIXME - ArrayCreationExpression")); }
|
| break;
|
|
|
| case 58:
|
| -#line 431 "jv-exp.y"
|
| +#line 437 "jv-exp.y"
|
| { yyval.lval = 1; }
|
| break;
|
|
|
| case 59:
|
| -#line 433 "jv-exp.y"
|
| +#line 439 "jv-exp.y"
|
| { yyval.lval = yyvsp[-2].lval + 1; }
|
| break;
|
|
|
| case 61:
|
| -#line 439 "jv-exp.y"
|
| +#line 445 "jv-exp.y"
|
| { yyval.lval = 0; }
|
| break;
|
|
|
| case 62:
|
| -#line 444 "jv-exp.y"
|
| +#line 450 "jv-exp.y"
|
| { push_fieldnames (yyvsp[0].sval); }
|
| break;
|
|
|
| case 63:
|
| -#line 446 "jv-exp.y"
|
| +#line 452 "jv-exp.y"
|
| { push_fieldnames (yyvsp[0].sval); }
|
| break;
|
|
|
| case 64:
|
| -#line 452 "jv-exp.y"
|
| +#line 458 "jv-exp.y"
|
| { push_expression_name (yyvsp[-1].sval); }
|
| break;
|
|
|
| case 65:
|
| -#line 457 "jv-exp.y"
|
| +#line 463 "jv-exp.y"
|
| { start_arglist(); }
|
| break;
|
|
|
| case 66:
|
| -#line 459 "jv-exp.y"
|
| +#line 465 "jv-exp.y"
|
| { write_exp_elt_opcode (OP_FUNCALL);
|
| write_exp_elt_longcst ((LONGEST) end_arglist ());
|
| write_exp_elt_opcode (OP_FUNCALL); }
|
| break;
|
|
|
| case 67:
|
| -#line 463 "jv-exp.y"
|
| +#line 469 "jv-exp.y"
|
| { error (_("Form of method invocation not implemented")); }
|
| break;
|
|
|
| case 68:
|
| -#line 465 "jv-exp.y"
|
| +#line 471 "jv-exp.y"
|
| { error (_("Form of method invocation not implemented")); }
|
| break;
|
|
|
| case 69:
|
| -#line 470 "jv-exp.y"
|
| +#line 476 "jv-exp.y"
|
| {
|
| /* Emit code for the Name now, then exchange it in the
|
| expout array with the Expression's code. We could
|
| @@ -1641,69 +1647,69 @@ yyreduce:
|
| break;
|
|
|
| case 70:
|
| -#line 487 "jv-exp.y"
|
| +#line 493 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_SUBSCRIPT); }
|
| break;
|
|
|
| case 71:
|
| -#line 489 "jv-exp.y"
|
| +#line 495 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_SUBSCRIPT); }
|
| break;
|
|
|
| case 73:
|
| -#line 495 "jv-exp.y"
|
| +#line 501 "jv-exp.y"
|
| { push_expression_name (yyvsp[0].sval); }
|
| break;
|
|
|
| case 77:
|
| -#line 504 "jv-exp.y"
|
| +#line 510 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_POSTINCREMENT); }
|
| break;
|
|
|
| case 78:
|
| -#line 509 "jv-exp.y"
|
| +#line 515 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_POSTDECREMENT); }
|
| break;
|
|
|
| case 82:
|
| -#line 517 "jv-exp.y"
|
| +#line 523 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_NEG); }
|
| break;
|
|
|
| case 83:
|
| -#line 519 "jv-exp.y"
|
| +#line 525 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_IND); }
|
| break;
|
|
|
| case 85:
|
| -#line 525 "jv-exp.y"
|
| +#line 531 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_PREINCREMENT); }
|
| break;
|
|
|
| case 86:
|
| -#line 530 "jv-exp.y"
|
| +#line 536 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_PREDECREMENT); }
|
| break;
|
|
|
| case 88:
|
| -#line 536 "jv-exp.y"
|
| +#line 542 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_COMPLEMENT); }
|
| break;
|
|
|
| case 89:
|
| -#line 538 "jv-exp.y"
|
| +#line 544 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_LOGICAL_NOT); }
|
| break;
|
|
|
| case 91:
|
| -#line 544 "jv-exp.y"
|
| +#line 550 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_CAST);
|
| write_exp_elt_type (java_array_type (yyvsp[-3].tval, yyvsp[-2].lval));
|
| write_exp_elt_opcode (UNOP_CAST); }
|
| break;
|
|
|
| case 92:
|
| -#line 548 "jv-exp.y"
|
| +#line 554 "jv-exp.y"
|
| {
|
| int last_exp_size = length_of_subexp(expout, expout_ptr);
|
| struct type *type;
|
| @@ -1726,121 +1732,121 @@ yyreduce:
|
| break;
|
|
|
| case 93:
|
| -#line 568 "jv-exp.y"
|
| +#line 574 "jv-exp.y"
|
| { write_exp_elt_opcode (UNOP_CAST);
|
| write_exp_elt_type (java_array_type (java_type_from_name (yyvsp[-3].sval), yyvsp[-2].lval));
|
| write_exp_elt_opcode (UNOP_CAST); }
|
| break;
|
|
|
| case 95:
|
| -#line 577 "jv-exp.y"
|
| +#line 583 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_MUL); }
|
| break;
|
|
|
| case 96:
|
| -#line 579 "jv-exp.y"
|
| +#line 585 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_DIV); }
|
| break;
|
|
|
| case 97:
|
| -#line 581 "jv-exp.y"
|
| +#line 587 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_REM); }
|
| break;
|
|
|
| case 99:
|
| -#line 587 "jv-exp.y"
|
| +#line 593 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_ADD); }
|
| break;
|
|
|
| case 100:
|
| -#line 589 "jv-exp.y"
|
| +#line 595 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_SUB); }
|
| break;
|
|
|
| case 102:
|
| -#line 595 "jv-exp.y"
|
| +#line 601 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_LSH); }
|
| break;
|
|
|
| case 103:
|
| -#line 597 "jv-exp.y"
|
| +#line 603 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_RSH); }
|
| break;
|
|
|
| case 105:
|
| -#line 604 "jv-exp.y"
|
| +#line 610 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_LESS); }
|
| break;
|
|
|
| case 106:
|
| -#line 606 "jv-exp.y"
|
| +#line 612 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_GTR); }
|
| break;
|
|
|
| case 107:
|
| -#line 608 "jv-exp.y"
|
| +#line 614 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_LEQ); }
|
| break;
|
|
|
| case 108:
|
| -#line 610 "jv-exp.y"
|
| +#line 616 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_GEQ); }
|
| break;
|
|
|
| case 110:
|
| -#line 617 "jv-exp.y"
|
| +#line 623 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_EQUAL); }
|
| break;
|
|
|
| case 111:
|
| -#line 619 "jv-exp.y"
|
| +#line 625 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_NOTEQUAL); }
|
| break;
|
|
|
| case 113:
|
| -#line 625 "jv-exp.y"
|
| +#line 631 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_BITWISE_AND); }
|
| break;
|
|
|
| case 115:
|
| -#line 631 "jv-exp.y"
|
| +#line 637 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_BITWISE_XOR); }
|
| break;
|
|
|
| case 117:
|
| -#line 636 "jv-exp.y"
|
| +#line 642 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_BITWISE_IOR); }
|
| break;
|
|
|
| case 119:
|
| -#line 642 "jv-exp.y"
|
| +#line 648 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_LOGICAL_AND); }
|
| break;
|
|
|
| case 121:
|
| -#line 648 "jv-exp.y"
|
| +#line 654 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_LOGICAL_OR); }
|
| break;
|
|
|
| case 123:
|
| -#line 654 "jv-exp.y"
|
| +#line 660 "jv-exp.y"
|
| { write_exp_elt_opcode (TERNOP_COND); }
|
| break;
|
|
|
| case 126:
|
| -#line 664 "jv-exp.y"
|
| +#line 670 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_ASSIGN); }
|
| break;
|
|
|
| case 127:
|
| -#line 666 "jv-exp.y"
|
| +#line 672 "jv-exp.y"
|
| { write_exp_elt_opcode (BINOP_ASSIGN_MODIFY);
|
| write_exp_elt_opcode (yyvsp[-1].opcode);
|
| write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); }
|
| break;
|
|
|
| case 128:
|
| -#line 673 "jv-exp.y"
|
| +#line 679 "jv-exp.y"
|
| { push_expression_name (yyvsp[0].sval); }
|
| break;
|
|
|
| @@ -1848,7 +1854,7 @@ yyreduce:
|
| }
|
|
|
| /* Line 1000 of yacc.c. */
|
| -#line 1852 "jv-exp.c"
|
| +#line 1858 "jv-exp.c"
|
|
|
| yyvsp -= yylen;
|
| yyssp -= yylen;
|
| @@ -2073,7 +2079,7 @@ yyreturn:
|
| }
|
|
|
|
|
| -#line 685 "jv-exp.y"
|
| +#line 691 "jv-exp.y"
|
|
|
| /* Take care of parsing a number (anything that starts with a digit).
|
| Set yylval and return the token type; update lexptr.
|
|
|