summaryrefslogtreecommitdiff
path: root/gcc/java/jcf-parse.c
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 20:40:31 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 20:40:31 +0000
commitafd3c3479d9f1aac5f47eda64b63029f9befc5bc (patch)
treeec8c7b5d06daedd0915d6edd58a293686a084f4b /gcc/java/jcf-parse.c
parent93c8f06d485be7dfd0936c1e2e0c9b289471290f (diff)
downloadgcc-afd3c3479d9f1aac5f47eda64b63029f9befc5bc.tar.gz
PR java/1207, java/16178
* jcf-parse.c (load_class): Return immediately if passed a type decl where CLASS_FROM_SOURCE_P is set. Remove FIXME. * parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P before calling load_class. (qualify_and_find): Likewise. (find_in_imports_on_demand): Likewise. (find_applicable_accessible_methods_list): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83719 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/jcf-parse.c')
-rw-r--r--gcc/java/jcf-parse.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index c948a1ab9da..42c3df3fc32 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -562,10 +562,6 @@ read_class (tree name)
/* Load CLASS_OR_NAME. CLASS_OR_NAME can be a mere identifier if
called from the parser, otherwise it's a RECORD_TYPE node. If
VERBOSE is 1, print error message on failure to load a class. */
-
-/* Replace calls to load_class by having callers call read_class directly
- - and then perhaps rename read_class to load_class. FIXME */
-
void
load_class (tree class_or_name, int verbose)
{
@@ -581,7 +577,12 @@ load_class (tree class_or_name, int verbose)
name = TYPE_NAME (TREE_PURPOSE (class_or_name));
/* Or it's a type in the making */
else
- name = DECL_NAME (TYPE_NAME (class_or_name));
+ {
+ /* If the class is from source code, then it must already be loaded. */
+ if (CLASS_FROM_SOURCE_P (class_or_name))
+ return;
+ name = DECL_NAME (TYPE_NAME (class_or_name));
+ }
saved = name;
while (1)