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