diff options
Diffstat (limited to 'gcc/java/java-tree.def')
-rw-r--r-- | gcc/java/java-tree.def | 73 |
1 files changed, 69 insertions, 4 deletions
diff --git a/gcc/java/java-tree.def b/gcc/java/java-tree.def index a05b92d0aac..ead192476f6 100644 --- a/gcc/java/java-tree.def +++ b/gcc/java/java-tree.def @@ -1,12 +1,77 @@ /* Shift right, logical. */ -DEFTREECODE (URSHIFT_EXPR, "urshift_expr", "2", 2) +DEFTREECODE (URSHIFT_EXPR, "urshift_expr", '2', 2) /* Return -1, 0, 1 depending on whether the first argument is less, equal, or greater to the second argument. */ -DEFTREECODE (COMPARE_EXPR, "compare_expr", "2", 2) +DEFTREECODE (COMPARE_EXPR, "compare_expr", '2', 2) /* Same as COMPARE_EXPR, but if either value is NaN, the result is -1. */ -DEFTREECODE (COMPARE_L_EXPR, "compare_l_expr", "2", 2) +DEFTREECODE (COMPARE_L_EXPR, "compare_l_expr", '2', 2) /* Same as COMPARE_EXPR, but if either value is NaN, the result is 1. */ -DEFTREECODE (COMPARE_G_EXPR, "compare_g_expr", "2", 2) +DEFTREECODE (COMPARE_G_EXPR, "compare_g_expr", '2', 2) + +/* Unary plus. Operand 0 is the expression the unary plus is applied + to */ +DEFTREECODE (UNARY_PLUS_EXPR, "unary_plus_expr", '1', 1) + +/* New array creation expression. + Operand 0 is the array base type. + Operand 1 is the list of dimension expressions. + Operand 2 is the number of other dimensions of unspecified range. + Once patched, the node will bear the type of the created array. */ +DEFTREECODE (NEW_ARRAY_EXPR, "new_array_expr", 'e', 3) + +/* New class creation expression. + Operand 0 is the name of the class to be created + Operand 1 is the argument list used to select a constructor. + There is no operand 2. That slot is used for the + CALL_EXPR_RTL macro (see preexpand_calls). + The type should be the one of the created class. */ +DEFTREECODE (NEW_CLASS_EXPR, "new_class_expr", 'e', 3) + +/* Defines `this' as an expression. */ +DEFTREECODE (THIS_EXPR, "this", '1', 0) + +/* Case statement expression. + Operand 1 is the case value. */ +DEFTREECODE (CASE_EXPR, "case", 'x', 1) + +/* Default statement expression. */ +DEFTREECODE (DEFAULT_EXPR, "default", 'x', 0) + +/* Try expression + Operand 0 is the tried block, + Operand 1 contains chained catch nodes. */ +DEFTREECODE (TRY_EXPR, "try-catch-finally", 'e', 2) + +/* Catch clause. + Operand 0 is the catch clause block, which contains the declaration of + the catch clause parameter. */ +DEFTREECODE (CATCH_EXPR, "catch", '1', 1) + +/* Synchronized statement. + Operand 0 is the expression on which we whish to synchronize, + Operand 1 is the synchronized expression block. */ +DEFTREECODE (SYNCHRONIZED_EXPR, "synchronized", 'e', 2) + +/* Throw statement. + Operand 0 is the throw expresion. */ +DEFTREECODE (THROW_EXPR, "throw", '1', 1) + +/* Conditional operator. + Operand 0 is the condition expression + Operand 1 is the then-value + Operand 2 is the else-value. */ +DEFTREECODE (CONDITIONAL_EXPR, "?:", 'e', 3) + +/* instanceof operator. + Operand 0 is the expression that is getting tested + Operand 1 is the class used for the test. */ +DEFTREECODE (INSTANCEOF_EXPR, "instanceof", 'e', 2) + +/* Array initializers. + Operand 0 is the (sub) array target to initialize, left to NULL_TREE + when the node is created. + Operand 1 is a CONSTRUCTOR node. */ +DEFTREECODE (NEW_ARRAY_INIT, "new_array_init", '1', 1) |