diff options
author | Tom Tromey <tromey@redhat.com> | 2007-08-17 22:08:04 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-08-17 22:08:04 +0000 |
commit | 279e32c924988609c7b48d70b681b492a142b66a (patch) | |
tree | 70cc3ddb26fc919cb7189d6ea58e391a6b723fd6 /gcc/java/java-tree.h | |
parent | 44fd0e80635189f48f24654cb1e9620c39d5314b (diff) | |
download | gcc-279e32c924988609c7b48d70b681b492a142b66a.zip gcc-279e32c924988609c7b48d70b681b492a142b66a.tar.gz gcc-279e32c924988609c7b48d70b681b492a142b66a.tar.bz2 |
typeck.c (find_method_in_interfaces): Update.
* typeck.c (find_method_in_interfaces): Update.
* jcf-parse.c (load_class): Update.
* java-gimplify.c (java_gimplify_component_ref): Removed.
(java_gimplify_modify_expr): Update. Removed pre_p and post_p
arguments.
(java_gimplify_expr): Update.
* decl.c (java_init_decl_processing): Update.
* class.c (set_constant_value): Update.
(make_class_data): Update.
(finish_class): Update.
(build_static_field_ref): Update.
(is_compiled_class): Update.
(maybe_layout_super_class): Update.
(layout_class): Update.
(layout_class_method): Update.
* java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
(lang_decl_var) <am, final_iud, cif>: Removed fields.
(lang_decl_func) <init_calls_this>: Removed field.
(lang_type) <dot_class, verify_method>: Removed fields.
(FIELD_NESTED_ACCESS): Removed.
(FIELD_NESTED_ACCESS_P): Removed.
(DECL_FIELD_FINAL_IUD): Removed.
(DECL_LOCAL_FINAL_IUD): Removed
(LOCAL_FINAL_P): Removed.
(FINAL_VARIABLE_P): Removed.
(CLASS_FINAL_VARIABLE_P): Removed.
(DECL_BIT_INDEX): Removed.
(DECL_INIT_CALLS_THIS): Removed.
(FIELD_LOCAL_ALIAS): Removed.
(FIELD_LOCAL_ALIAS_USED): Removed.
(FIELD_THISN): Removed.
(DECL_FUNCTION_INIT_TEST_CLASS): Removed.
(LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
(LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
(TYPE_DOT_CLASS): Removed.
(TYPE_VERIFY_METHOD): Removed.
(ID_CLASSDOLLAR_P): Removed.
(enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
Removed.
(classdollar_identifier_node): Removed.
(TYPE_UNKNOWN): Removed.
(CLASS_FROM_SOURCE_P): Removed.
* expr.c (build_jni_stub): Update.
(force_evaluation_order): Update.
(build_java_empty_stmt): Update.
(build_class_init): Update.
(java_stack_swap): Update.
(build_jni_stub): Update.
From-SVN: r127602
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r-- | gcc/java/java-tree.h | 86 |
1 files changed, 1 insertions, 85 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 29902de..95087b7 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -48,12 +48,10 @@ struct JCF; 4: IS_A_COMMAND_LINE_FILENAME_P (in IDENTIFIER_NODE) IS_ARRAY_LENGTH_ACCESS (in INDIRECT_REF) 5: HAS_BEEN_ALREADY_PARSED_P (in IDENTIFIER_NODE) - 6: CAN_COMPLETE_NORMALLY (in statement nodes) Usage of TYPE_LANG_FLAG_?: 1: TYPE_ARRAY_P (in RECORD_TYPE). 2: CLASS_PARSED_P (in RECORD_TYPE). - 3: CLASS_FROM_SOURCE_P (in RECORD_TYPE). 4: CLASS_P (in RECORD_TYPE). 5: CLASS_FROM_CURRENTLY_COMPILED_P (in RECORD_TYPE) 6: CLASS_BEING_LAIDOUT (in RECORD_TYPE) @@ -80,11 +78,8 @@ struct JCF; CLASS_ABSTRACT (in TYPE_DECL) FIELD_TRANSIENT (in FIELD_DECL) 6: CLASS_SUPER (in TYPE_DECL, ACC_SUPER flag) - FIELD_LOCAL_ALIAS (in FIELD_DECL) 7: DECL_CONSTRUCTOR_P (in FUNCTION_DECL). CLASS_STATIC (in TYPE_DECL) - FIELD_LOCAL_ALIAS_USED (in FIELD_DECL) - FIELD_THISN (in FIELD_DECL) */ #define VAR_OR_FIELD_CHECK(DECL) \ @@ -302,7 +297,6 @@ enum java_tree_index JTI_VOID_SIGNATURE_NODE, JTI_FINALIZE_IDENTIFIER_NODE, JTI_THIS_IDENTIFIER_NODE, - JTI_CLASSDOLLAR_IDENTIFIER_NODE, JTI_ONE_ELT_ARRAY_DOMAIN_TYPE, JTI_RETURN_ADDRESS_TYPE_NODE, @@ -497,8 +491,6 @@ extern GTY(()) tree java_global_trees[JTI_MAX]; java_global_trees[JTI_FINALIZE_IDENTIFIER_NODE] /* "finalize" */ #define this_identifier_node \ java_global_trees[JTI_THIS_IDENTIFIER_NODE] /* "this" */ -#define classdollar_identifier_node \ - java_global_trees[JTI_CLASSDOLLAR_IDENTIFIER_NODE] /* "class$" */ #define one_elt_array_domain_type \ java_global_trees[JTI_ONE_ELT_ARRAY_DOMAIN_TYPE] /* The type of the return address of a subroutine. */ @@ -740,9 +732,6 @@ union lang_tree_node class has been initialized in this function, and FALSE otherwise. */ #define DECL_FUNCTION_INIT_TEST_TABLE(DECL) \ (DECL_LANG_SPECIFIC(DECL)->u.f.init_test_table) -/* If LOCAL_CLASS_INITIALIZATION_FLAG_P(decl), give class it initializes. */ -#define DECL_FUNCTION_INIT_TEST_CLASS(DECL) \ - (DECL_LANG_SPECIFIC(DECL)->u.v.slot_chain) /* For each static function decl, itc contains a hash table whose entries are keyed on class named that are definitively initialized in DECL. */ @@ -752,25 +741,9 @@ union lang_tree_node #define DECL_LOCAL_CNI_METHOD_P(NODE) \ (DECL_LANG_SPECIFIC (NODE)->u.f.local_cni) -/* A constructor that calls this. */ -#define DECL_INIT_CALLS_THIS(DECL) \ - (DECL_LANG_SPECIFIC(DECL)->u.f.init_calls_this) - /* True when DECL (a field) is Synthetic. */ #define FIELD_SYNTHETIC(DECL) DECL_LANG_FLAG_2 (VAR_OR_FIELD_CHECK (DECL)) -/* True when DECL aliases an outer context local variable. */ -#define FIELD_LOCAL_ALIAS(DECL) DECL_LANG_FLAG_6 (VAR_OR_FIELD_CHECK (DECL)) - -/* True when DECL, which aliases an outer context local variable is - used by the inner classes. */ -#define FIELD_LOCAL_ALIAS_USED(DECL) DECL_LANG_FLAG_7 (VAR_OR_FIELD_CHECK (DECL)) - -/* True when DECL is a this$<n> field. Note that - FIELD_LOCAL_ALIAS_USED can be differentiated when tested against - FIELD_LOCAL_ALIAS. */ -#define FIELD_THISN(DECL) DECL_LANG_FLAG_7 (VAR_OR_FIELD_CHECK (DECL)) - /* The slot number for this local variable. */ #define DECL_LOCAL_SLOT_NUMBER(NODE) \ (DECL_LANG_SPECIFIC (NODE)->u.v.slot_number) @@ -781,35 +754,10 @@ union lang_tree_node /* For a VAR_DECL or PARM_DECL, used to chain decls with the same slot_number in decl_map. */ #define DECL_LOCAL_SLOT_CHAIN(NODE) (DECL_LANG_SPECIFIC(NODE)->u.v.slot_chain) -/* For a FIELD_DECL, holds the name of the access method. Used to - read/write the content of the field across nested class boundaries. */ -#define FIELD_NESTED_ACCESS(DECL) \ - (DECL_LANG_SPECIFIC (VAR_OR_FIELD_CHECK (DECL))->u.v.am) -/* Safely tests whether FIELD_NESTED_ACCESS exists or not. */ -#define FIELD_NESTED_ACCESS_P(DECL) \ - DECL_LANG_SPECIFIC (DECL) && FIELD_NESTED_ACCESS (DECL) -/* True if a final field was initialized upon its declaration - or in an initializer. Set after definite assignment. */ -#define DECL_FIELD_FINAL_IUD(NODE) (DECL_LANG_SPECIFIC (NODE)->u.v.final_iud) /* The class that's the owner of a dynamic binding table. */ #define DECL_OWNER(NODE) (DECL_LANG_SPECIFIC(NODE)->u.v.owner) -/* True if NODE is a local variable final. */ -#define LOCAL_FINAL_P(NODE) (DECL_LANG_SPECIFIC (NODE) && DECL_FINAL (NODE)) -/* True if a final local variable was initialized upon its declaration. */ -#define DECL_LOCAL_FINAL_IUD(NODE) (DECL_LANG_SPECIFIC (NODE)->u.v.final_iud) -/* True if NODE is a final field. */ -#define FINAL_VARIABLE_P(NODE) (FIELD_FINAL (NODE) && !FIELD_STATIC (NODE)) /* True if NODE is a class final field. */ #define FIELD_ENUM(DECL) (DECL_LANG_SPECIFIC (DECL)->u.v.field_enum) -#define CLASS_FINAL_VARIABLE_P(NODE) \ - (FIELD_FINAL (NODE) && FIELD_STATIC (NODE)) -/* True if NODE is a class initialization flag. This macro accesses - the flag to read or set it. */ -#define LOCAL_CLASS_INITIALIZATION_FLAG(NODE) \ - (DECL_LANG_SPECIFIC (NODE)->u.v.cif) -/* True if NODE is a class initialization flag. */ -#define LOCAL_CLASS_INITIALIZATION_FLAG_P(NODE) \ - (DECL_LANG_SPECIFIC (NODE) && LOCAL_CLASS_INITIALIZATION_FLAG(NODE)) /* True if NODE is a variable that is out of scope. */ #define LOCAL_VAR_OUT_OF_SCOPE_P(NODE) \ (DECL_LANG_SPECIFIC (NODE)->u.v.freed) @@ -837,12 +785,6 @@ union lang_tree_node && TREE_CODE (TREE_TYPE (NODE)) != POINTER_TYPE) \ || TREE_CODE (NODE) == REAL_CST) -/* For a local VAR_DECL or PARM_DECL, holds the index into a words bitstring - that specifies if this decl is definitively assigned. - The value -1 means the variable has been definitely assigned (and not - definitely unassigned). The value -2 means we already reported an error. */ -#define DECL_BIT_INDEX(DECL) VAR_OR_FIELD_CHECK (DECL)->decl_common.pointer_alias_set - /* DECL_LANG_SPECIFIC for FUNCTION_DECLs. */ struct lang_decl_func GTY(()) { @@ -869,7 +811,6 @@ struct lang_decl_func GTY(()) unsigned int native : 1; /* Nonzero if this is a native method */ unsigned int init_final : 1; /* Nonzero all finals are initialized */ - unsigned int init_calls_this : 1; unsigned int strictfp : 1; unsigned int invisible : 1; /* Set for methods we generate internally but which shouldn't be @@ -936,10 +877,7 @@ struct lang_decl_var GTY(()) int start_pc; int end_pc; tree slot_chain; - tree am; /* Access method for this field (1.1) */ tree owner; - unsigned int final_iud : 1; /* Final initialized upon declaration */ - unsigned int cif : 1; /* True: decl is a class initialization flag */ unsigned int freed : 1; /* Decl is no longer in scope. */ unsigned int local_slot : 1; /* Decl is a temporary in the stack frame. */ unsigned int class_field : 1; /* Decl needs mangle_class_field. */ @@ -974,10 +912,6 @@ struct lang_decl GTY(()) #define TYPE_DUMMY(T) (TYPE_LANG_SPECIFIC(T)->dummy_class) -/* The decl of the synthetic method `class$' used to handle `.class' - for non primitive types when compiling to bytecode. */ - -#define TYPE_DOT_CLASS(T) (TYPE_LANG_SPECIFIC (T)->dot_class) #define TYPE_PACKAGE_LIST(T) (TYPE_LANG_SPECIFIC (T)->package_list) #define TYPE_PRIVATE_INNER_CLASS(T) (TYPE_LANG_SPECIFIC (T)->pic) #define TYPE_PROTECTED_INNER_CLASS(T) (TYPE_LANG_SPECIFIC (T)->poic) @@ -1002,7 +936,6 @@ struct lang_decl GTY(()) #define TYPE_CTABLE_DECL(T) (TYPE_LANG_SPECIFIC (T)->ctable_decl) #define TYPE_CATCH_CLASSES(T) (TYPE_LANG_SPECIFIC (T)->catch_classes) -#define TYPE_VERIFY_METHOD(T) (TYPE_LANG_SPECIFIC (T)->verify_method) #define TYPE_TO_RUNTIME_MAP(T) (TYPE_LANG_SPECIFIC (T)->type_to_runtime_map) #define TYPE_ASSERTIONS(T) (TYPE_LANG_SPECIFIC (T)->type_assertions) @@ -1018,10 +951,6 @@ struct lang_type GTY(()) struct JCF *jcf; struct CPool *cpool; tree cpool_data_ref; /* Cached */ - tree dot_class; /* The decl of the `class$' function that - needs to be invoked and generated when - compiling to bytecode to implement - <non_primitive_type>.class */ tree package_list; /* List of package names, progressive */ tree otable_methods; /* List of static decls referred to by this @@ -1043,9 +972,6 @@ struct lang_type GTY(()) type matcher. */ tree catch_classes; - tree verify_method; /* The verify method for this class. - Used in split verification. */ - htab_t GTY ((param_is (struct treetreehash_entry))) type_to_runtime_map; /* The mapping of classes to exception region markers. */ @@ -1360,7 +1286,6 @@ extern void rewrite_reflection_indexes (void *); them */ #define ID_INIT_P(ID) ((ID) == init_identifier_node) #define ID_CLINIT_P(ID) ((ID) == clinit_identifier_node) -#define ID_CLASSDOLLAR_P(ID) ((ID) == classdollar_identifier_node) /* Access flags etc for variable/field (FIELD_DECL, VAR_DECL, or PARM_DECL): */ @@ -1441,9 +1366,6 @@ extern const unsigned char *linenumber_table; /* The length (in items) of the line number table. */ extern int linenumber_count; -/* In type_map, means that slot is uninitialized or otherwise unusable. */ -#define TYPE_UNKNOWN NULL_TREE - /* In type_map, means the second half of a 64-bit double or long. */ #define TYPE_SECOND void_type_node @@ -1455,7 +1377,7 @@ extern int linenumber_count; /* A array mapping variable/stack slot index to the type current in that variable/stack slot. - TYPE_UNKNOWN, TYPE_SECOND, and TYPE_NULL are special cases. */ + TYPE_SECOND and TYPE_NULL are special cases. */ extern tree *type_map; /* Map a stack index to the type currently in that slot. */ @@ -1487,9 +1409,6 @@ extern tree *type_map; /* True if class TYPE has been parsed (first pass). */ #define CLASS_PARSED_P(TYPE) TYPE_LANG_FLAG_2 (TYPE) -/* True if class TYPE was defined in Java source code. */ -#define CLASS_FROM_SOURCE_P(TYPE) TYPE_LANG_FLAG_3 (TYPE) - /* True of a RECORD_TYPE of a class/interface type (not array type) */ #define CLASS_P(TYPE) TYPE_LANG_FLAG_4 (TYPE) @@ -1514,9 +1433,6 @@ extern tree *type_map; feature a finalizer method. */ #define HAS_FINALIZER_P(EXPR) TREE_LANG_FLAG_3 (EXPR) -/* True if NODE (a statement) can complete normally. */ -#define CAN_COMPLETE_NORMALLY(NODE) TREE_LANG_FLAG_6 (NODE) - /* True if NODE belongs to an inner class TYPE_DECL node. Verifies that NODE as the attributes of a decl. */ #define INNER_CLASS_DECL_P(NODE) (TYPE_NAME (TREE_TYPE (NODE)) == NODE \ |