blob: f15bc38701fc28d889b1b91223854c35310ff0f2 [file] [log] [blame]
/* Shift right, logical. */
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)
/* Same as COMPARE_EXPR, but if either value is NaN, the result is -1. */
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)
/* 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 anonymous array creation expression.
Operand 0 is the base type of the anonymous array.
Operand 1 is the signature of the dimensions this array contains.
Operand 2 is the anonymous array initializer.
Once patched, the node will bear the type of the created array. */
DEFTREECODE (NEW_ANONYMOUS_ARRAY_EXPR, "new_anonymous_array", '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", 'e', 1)
/* Default statement expression. */
DEFTREECODE (DEFAULT_EXPR, "default", 'e', 0)
/* Try expression
Operand 0 is the tried block,
Operand 1 contains chained catch nodes. */
DEFTREECODE (TRY_EXPR, "try-catch", '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 wish to synchronize,
Operand 1 is the synchronized expression block. */
DEFTREECODE (SYNCHRONIZED_EXPR, "synchronized", 'e', 2)
/* Throw statement.
Operand 0 is the throw expression. */
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)
/* Class literal.
Operand 0 is the name of the class we're trying to build a
reference from. */
DEFTREECODE (CLASS_LITERAL, "class_literal", '1', 1)
/* The Java object within the exception object from the runtime. */
DEFTREECODE (JAVA_EXC_OBJ_EXPR, "java_exc_obj_expr", 'e', 0)
/*
Local variables:
mode:c
End:
*/