xref: /openbsd/gnu/usr.bin/gcc/gcc/java/java-tree.def (revision c87b03e5)
1/* Shift right, logical. */
2
3DEFTREECODE (URSHIFT_EXPR, "urshift_expr", '2', 2)
4
5/* Return -1, 0, 1 depending on whether the first argument is
6   less, equal, or greater to the second argument. */
7DEFTREECODE (COMPARE_EXPR, "compare_expr", '2', 2)
8
9/* Same as COMPARE_EXPR, but if either value is NaN, the result is -1. */
10DEFTREECODE (COMPARE_L_EXPR, "compare_l_expr", '2', 2)
11/* Same as COMPARE_EXPR, but if either value is NaN, the result is 1. */
12DEFTREECODE (COMPARE_G_EXPR, "compare_g_expr", '2', 2)
13
14/* Unary plus. Operand 0 is the expression the unary plus is applied
15   to */
16DEFTREECODE (UNARY_PLUS_EXPR, "unary_plus_expr", '1', 1)
17
18/* New array creation expression.
19   Operand 0 is the array base type.
20   Operand 1 is the list of dimension expressions.
21   Operand 2 is the number of other dimensions of unspecified range.
22   Once patched, the node will bear the type of the created array.  */
23DEFTREECODE (NEW_ARRAY_EXPR, "new_array_expr", 'e', 3)
24
25/* New anonymous array creation expression.
26   Operand 0 is the base type of the anonymous array.
27   Operand 1 is the signature of the dimensions this array contains.
28   Operand 2 is the anonymous array initializer.
29   Once patched, the node will bear the type of the created array.  */
30DEFTREECODE (NEW_ANONYMOUS_ARRAY_EXPR, "new_anonymous_array", 'e', 3)
31
32/* New class creation expression.
33   Operand 0 is the name of the class to be created
34   Operand 1 is the argument list used to select a constructor.
35   There is no operand 2.  That slot is used for the
36   CALL_EXPR_RTL macro (see preexpand_calls).
37   The type should be the one of the created class.  */
38DEFTREECODE (NEW_CLASS_EXPR, "new_class_expr", 'e', 3)
39
40/* Defines `this' as an expression.  */
41DEFTREECODE (THIS_EXPR, "this", '1', 0)
42
43/* Case statement expression.
44   Operand 1 is the case value.  */
45DEFTREECODE (CASE_EXPR, "case", 'e', 1)
46
47/* Default statement expression. */
48DEFTREECODE (DEFAULT_EXPR, "default", 'e', 0)
49
50/* Try expression
51   Operand 0 is the tried block,
52   Operand 1 contains chained catch nodes. */
53DEFTREECODE (TRY_EXPR, "try-catch", 'e', 2)
54
55/* Catch clause.
56   Operand 0 is the catch clause block, which contains the declaration of
57   the catch clause parameter.  */
58DEFTREECODE (CATCH_EXPR, "catch", '1', 1)
59
60/* Synchronized statement.
61   Operand 0 is the expression on which we wish to synchronize,
62   Operand 1 is the synchronized expression block.  */
63DEFTREECODE (SYNCHRONIZED_EXPR, "synchronized", 'e', 2)
64
65/* Throw statement.
66   Operand 0 is the throw expression.  */
67DEFTREECODE (THROW_EXPR, "throw", '1', 1)
68
69/* Conditional operator.
70   Operand 0 is the condition expression
71   Operand 1 is the then-value
72   Operand 2 is the else-value.  */
73DEFTREECODE (CONDITIONAL_EXPR, "?:", 'e', 3)
74
75/* instanceof operator.
76   Operand 0 is the expression that is getting tested
77   Operand 1 is the class used for the test.  */
78DEFTREECODE (INSTANCEOF_EXPR, "instanceof", 'e', 2)
79
80/* Array initializers.
81   Operand 0 is the (sub) array target to initialize, left to NULL_TREE
82   when the node is created.
83   Operand 1 is a CONSTRUCTOR node.  */
84DEFTREECODE (NEW_ARRAY_INIT, "new_array_init", '1', 1)
85
86/* Class literal.
87   Operand 0 is the name of the class we're trying to build a
88   reference from.  */
89DEFTREECODE (CLASS_LITERAL, "class_literal", '1', 1)
90
91/* The Java object within the exception object from the runtime.  */
92DEFTREECODE (JAVA_EXC_OBJ_EXPR, "java_exc_obj_expr", 'e', 0)
93
94/*
95Local variables:
96mode:c
97End:
98*/
99