diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 1999-03-19 12:56:16 +0000 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 1999-03-19 04:56:16 -0800 |
commit | 1982388a57dbdb1e7b38c77f0aeca61ba02c60b0 (patch) | |
tree | e12187cefe329f846025ee7fa24351f8bacc32b8 /gcc/java/class.c | |
parent | 8db99db275183d379d0b6f2cd80942f6f5f5b4b2 (diff) | |
download | gcc-1982388a57dbdb1e7b38c77f0aeca61ba02c60b0.zip gcc-1982388a57dbdb1e7b38c77f0aeca61ba02c60b0.tar.gz gcc-1982388a57dbdb1e7b38c77f0aeca61ba02c60b0.tar.bz2 |
[multiple changes]
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Extend the
search to superinterfaces when relevant.
(search_applicable_methods_list): New function.
1999-03-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (unmangle_classname): Implemented stricter testing
before setting the QUALIFIED_P flag on an identifier.
From-SVN: r25861
Diffstat (limited to 'gcc/java/class.c')
-rw-r--r-- | gcc/java/class.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/java/class.c b/gcc/java/class.c index 1ab753a..53ccf3e 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -142,8 +142,18 @@ unmangle_classname (name, name_length) const char *name; int name_length; { tree to_return = ident_subst (name, name_length, "", '/', '.', ""); - if (to_return != get_identifier ((char *)name)) - QUALIFIED_P (to_return) = 1; + /* It's not sufficient to compare to_return and get_identifier + (name) to determine whether to_return is qualified. There are + cases in signature analysis where name will be stripped of a + trailing ';'. */ + name = IDENTIFIER_POINTER (to_return); + while (*name) + if (*name++ == '.') + { + QUALIFIED_P (to_return) = 1; + break; + } + return to_return; } |