9a7ab4b335
2000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com> * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'. 2000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com> * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for Java specific checks. * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage screened by DECL_P. * java-tree.def (CASE_EXPR): Marked 'e'. (DEFAULT_EXPR): Likewise. * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage screened by DECL_P. * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for Java specific checks. (generate_bytecode_insns): Test try_block for BLOCK before using BLOCK_EXPR_BODY. * parse.y (build_wfl_wrap): Added `location' argument. Set EXPR_WFL_LINECOL accordingly. (dim_expr:): Wrap constants with WFLs. (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC. (resolve_package): Check for `stmt' not being a BLOCK before building a debuggable statement with it. (make_qualified_primary): Added extra parameter to build_wfl_wrap invocation. (resolve_field_access): Make sure `decl' is a DECL before treating it as such. (maybe_build_primttype_type_ref): Make sure `wfl''s node is an IDENTIFIER_NODE before treating it as such. (patch_new_array_init): Make sure `elt' is a TREE_LIST before treating it as such. (find_applicable_accessible_methods_list): CLASS_INTERFACE macro to be applied only on non array types. 2000-06-16 Per Bothner <per@bothner.com> * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't define in terms of DECL_RESULT, as that fails when --enable-checking. 2000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries. * parse.y (find_in_imports): Returned type changed to void, leading comment fixed. (register_package): New function. (qualify_and_find): Likewise. (package_declaration:): Use `register_package'. (single_type_import_declaration:): Removed local variable `node'. Added missing `;' for consistency. (type_import_on_demand_declaration:): Use `chainon' to link new entries. (lookup_field_wrapper): Lookup local variables defined in outer contexts first. (java_complete_class): Don't reverse the list of imported on demand. (do_resolve_class): Reorganized. Removed local variable `original_name'. Call `qualify_and_find' with the current package name, invoke `find_in_imports_on_demand' right after. Call `qualify_and_find' with the packages we've seen so far. Fixed operations numbering in comments. (java_expand_class): Don't reverse `package_list'. (find_most_specific_methods_list): New local variables `abstract' and `candidates'. Use them to pick the right method. (Fixes for the ENABLE_TREE_CHECKING Java run-time build problem: http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00551.html) From-SVN: r34642
101 lines
3.5 KiB
Modula-2
101 lines
3.5 KiB
Modula-2
/* 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)
|
|
|
|
/* Instance initializer.
|
|
Operand 0 contains the intance initializer statement. This tree node
|
|
is used for context detection, so that special rules can be
|
|
enforced. */
|
|
DEFTREECODE (INSTANCE_INITIALIZERS_EXPR, "instance_initializers_expr", '1', 1)
|
|
/*
|
|
Local variables:
|
|
mode:c
|
|
End:
|
|
*/
|