aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-tree.h
diff options
context:
space:
mode:
authorBryce McKinlay <mckinlay@redhat.com>2005-09-15 14:13:03 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2005-09-15 15:13:03 +0100
commitc629e611eb78853f8ccd85173b758cabbdc0e56b (patch)
treeacb467137b30cf006a229fb261743c29c869d147 /gcc/java/java-tree.h
parentec05ece4b9e0fdcc6afd9d5d89d859cb95ccb321 (diff)
downloadgcc-c629e611eb78853f8ccd85173b758cabbdc0e56b.zip
gcc-c629e611eb78853f8ccd85173b758cabbdc0e56b.tar.gz
gcc-c629e611eb78853f8ccd85173b758cabbdc0e56b.tar.bz2
re PR java/23891 (Problem folding static fields across packages)
2005-09-14 Bryce McKinlay <mckinlay@redhat.com> PR java/23891 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for the newly created type. Set import lists here, not in create_class. (jdep_resolve_class): Set current_class. (do_resolve_class): Use current_class's TYPE_PACKAGE to determine the current package context, not ctxp->package. (cicp_cache): Removed. (class_in_current_package): Simplify implementation using TYPE_PACKAGE. * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE. * java-tree.h (TYPE_PACKAGE): New macro. (struct lang_type): New member 'package'. From-SVN: r104305
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r--gcc/java/java-tree.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index 8f30878..658da38 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -1074,6 +1074,7 @@ struct lang_decl GTY(())
#define TYPE_TO_RUNTIME_MAP(T) (TYPE_LANG_SPECIFIC (T)->type_to_runtime_map)
#define TYPE_ASSERTIONS(T) (TYPE_LANG_SPECIFIC (T)->type_assertions)
+#define TYPE_PACKAGE(T) (TYPE_LANG_SPECIFIC (T)->package)
struct lang_type GTY(())
{
@@ -1122,6 +1123,9 @@ struct lang_type GTY(())
/* Table of type assertions to be evaluated
by the runtime when this class is loaded. */
+ tree package; /* IDENTIFIER_NODE for package this class is
+ a member of. */
+
unsigned pic:1; /* Private Inner Class. */
unsigned poic:1; /* Protected Inner Class. */
unsigned strictfp:1; /* `strictfp' class. */