| /* Shift right, logical. */ |
| |
| DEFTREECODE (URSHIFT_EXPR, "urshift_expr", tcc_binary, 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", tcc_binary, 2) |
| |
| /* Same as COMPARE_EXPR, but if either value is NaN, the result is -1. */ |
| DEFTREECODE (COMPARE_L_EXPR, "compare_l_expr", tcc_binary, 2) |
| /* Same as COMPARE_EXPR, but if either value is NaN, the result is 1. */ |
| DEFTREECODE (COMPARE_G_EXPR, "compare_g_expr", tcc_binary, 2) |
| |
| /* Unary plus. Operand 0 is the expression the unary plus is applied |
| to */ |
| DEFTREECODE (UNARY_PLUS_EXPR, "unary_plus_expr", tcc_unary, 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", tcc_expression, 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", |
| tcc_expression, 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", tcc_expression, 3) |
| |
| /* Defines `this' as an expression. */ |
| DEFTREECODE (THIS_EXPR, "this", tcc_unary, 0) |
| |
| /* A labeled block. Operand 0 is the label that will be generated to |
| mark the end of the block. Operand 1 is the labeled block body. */ |
| DEFTREECODE (LABELED_BLOCK_EXPR, "labeled_block_expr", tcc_expression, 2) |
| |
| /* Exit a labeled block, possibly returning a value. Operand 0 is a |
| LABELED_BLOCK_EXPR to exit. */ |
| DEFTREECODE (EXIT_BLOCK_EXPR, "exit_block_expr", tcc_statement, 1) |
| |
| /* Case statement expression. |
| Operand 1 is the case value. */ |
| DEFTREECODE (CASE_EXPR, "case", tcc_expression, 1) |
| |
| /* Default statement expression. */ |
| DEFTREECODE (DEFAULT_EXPR, "default", tcc_expression, 0) |
| |
| /* Try expression |
| Operand 0 is the tried block, |
| Operand 1 contains chained catch nodes. */ |
| DEFTREECODE (TRY_EXPR, "try-catch", tcc_expression, 2) |
| |
| /* Catch clause. |
| Operand 0 is the catch clause block, which contains the declaration of |
| the catch clause parameter. */ |
| DEFTREECODE (JAVA_CATCH_EXPR, "catch", tcc_unary, 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", tcc_expression, 2) |
| |
| /* Throw statement. |
| Operand 0 is the throw expression. */ |
| DEFTREECODE (THROW_EXPR, "throw", tcc_unary, 1) |
| |
| /* Conditional operator. |
| Operand 0 is the condition expression |
| Operand 1 is the then-value |
| Operand 2 is the else-value. */ |
| DEFTREECODE (CONDITIONAL_EXPR, "?:", tcc_expression, 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", tcc_expression, 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", tcc_unary, 1) |
| |
| /* Class literal. |
| Operand 0 is the name of the class we're trying to build a |
| reference from. */ |
| DEFTREECODE (CLASS_LITERAL, "class_literal", tcc_unary, 1) |
| |
| /* The Java object within the exception object from the runtime. */ |
| DEFTREECODE (JAVA_EXC_OBJ_EXPR, "java_exc_obj_expr", tcc_expression, 0) |
| |
| /* Annotates a tree node (usually an expression) with source location |
| information: a file name (EXPR_WFL_FILENAME); a line number |
| (EXPR_WFL_LINENO); and column number (EXPR_WFL_COLNO). It is |
| expanded as the contained node (EXPR_WFL_NODE); a line note should |
| be emitted first if EXPR_WFL_EMIT_LINE_NOTE. */ |
| #ifdef USE_MAPPED_LOCATION |
| DEFTREECODE (EXPR_WITH_FILE_LOCATION, "expr_with_file_location", |
| tcc_expression, 2) |
| #else |
| DEFTREECODE (EXPR_WITH_FILE_LOCATION, "expr_with_file_location", |
| tcc_expression, 3) |
| #endif |
| |
| /* |
| Local variables: |
| mode:c |
| End: |
| */ |