aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-tree.def
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/java-tree.def')
-rw-r--r--gcc/java/java-tree.def73
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)