2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
[official-gcc.git] / gcc / java / java-tree.def
blob2f2b9f467eb697917056b2c0c625c06f84067fb2
1 /* Shift right, logical. */
3 DEFTREECODE (URSHIFT_EXPR, "urshift_expr", tcc_binary, 2)
5 /* Return -1, 0, 1 depending on whether the first argument is
6 less, equal, or greater to the second argument. */
7 DEFTREECODE (COMPARE_EXPR, "compare_expr", tcc_binary, 2)
9 /* Same as COMPARE_EXPR, but if either value is NaN, the result is -1. */
10 DEFTREECODE (COMPARE_L_EXPR, "compare_l_expr", tcc_binary, 2)
11 /* Same as COMPARE_EXPR, but if either value is NaN, the result is 1. */
12 DEFTREECODE (COMPARE_G_EXPR, "compare_g_expr", tcc_binary, 2)
14 /* Unary plus. Operand 0 is the expression the unary plus is applied
15 to */
16 DEFTREECODE (UNARY_PLUS_EXPR, "unary_plus_expr", tcc_unary, 1)
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. */
23 DEFTREECODE (NEW_ARRAY_EXPR, "new_array_expr", tcc_expression, 3)
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. */
30 DEFTREECODE (NEW_ANONYMOUS_ARRAY_EXPR, "new_anonymous_array",
31 tcc_expression, 3)
33 /* New class creation expression.
34 Operand 0 is the name of the class to be created
35 Operand 1 is the argument list used to select a constructor.
36 There is no operand 2. That slot is used for the
37 CALL_EXPR_RTL macro (see preexpand_calls).
38 The type should be the one of the created class. */
39 DEFTREECODE (NEW_CLASS_EXPR, "new_class_expr", tcc_expression, 3)
41 /* Defines `this' as an expression. */
42 DEFTREECODE (THIS_EXPR, "this", tcc_unary, 0)
44 /* Case statement expression.
45 Operand 1 is the case value. */
46 DEFTREECODE (CASE_EXPR, "case", tcc_expression, 1)
48 /* Default statement expression. */
49 DEFTREECODE (DEFAULT_EXPR, "default", tcc_expression, 0)
51 /* Try expression
52 Operand 0 is the tried block,
53 Operand 1 contains chained catch nodes. */
54 DEFTREECODE (TRY_EXPR, "try-catch", tcc_expression, 2)
56 /* Catch clause.
57 Operand 0 is the catch clause block, which contains the declaration of
58 the catch clause parameter. */
59 DEFTREECODE (JAVA_CATCH_EXPR, "catch", tcc_unary, 1)
61 /* Synchronized statement.
62 Operand 0 is the expression on which we wish to synchronize,
63 Operand 1 is the synchronized expression block. */
64 DEFTREECODE (SYNCHRONIZED_EXPR, "synchronized", tcc_expression, 2)
66 /* Throw statement.
67 Operand 0 is the throw expression. */
68 DEFTREECODE (THROW_EXPR, "throw", tcc_unary, 1)
70 /* Conditional operator.
71 Operand 0 is the condition expression
72 Operand 1 is the then-value
73 Operand 2 is the else-value. */
74 DEFTREECODE (CONDITIONAL_EXPR, "?:", tcc_expression, 3)
76 /* instanceof operator.
77 Operand 0 is the expression that is getting tested
78 Operand 1 is the class used for the test. */
79 DEFTREECODE (INSTANCEOF_EXPR, "instanceof", tcc_expression, 2)
81 /* Array initializers.
82 Operand 0 is the (sub) array target to initialize, left to NULL_TREE
83 when the node is created.
84 Operand 1 is a CONSTRUCTOR node. */
85 DEFTREECODE (NEW_ARRAY_INIT, "new_array_init", tcc_unary, 1)
87 /* Class literal.
88 Operand 0 is the name of the class we're trying to build a
89 reference from. */
90 DEFTREECODE (CLASS_LITERAL, "class_literal", tcc_unary, 1)
92 /* The Java object within the exception object from the runtime. */
93 DEFTREECODE (JAVA_EXC_OBJ_EXPR, "java_exc_obj_expr", tcc_expression, 0)
95 /* Annotates a tree node (usually an expression) with source location
96 information: a file name (EXPR_WFL_FILENAME); a line number
97 (EXPR_WFL_LINENO); and column number (EXPR_WFL_COLNO). It is
98 expanded as the contained node (EXPR_WFL_NODE); a line note should
99 be emitted first if EXPR_WFL_EMIT_LINE_NOTE. */
100 DEFTREECODE (EXPR_WITH_FILE_LOCATION, "expr_with_file_location",
101 tcc_expression, 3)
104 Local variables:
105 mode:c
106 End: