aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/constants.c
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>1999-11-21 23:37:58 +0000
committerAnthony Green <green@gcc.gnu.org>1999-11-21 23:37:58 +0000
commit48aedbca8b443b60afa81bfc58107a64f3fb2e99 (patch)
tree6339330b1e1b16ec9eff2000914b559bac7134bd /gcc/java/constants.c
parent250ba2372cdb135d47cb4a47227d0457fb73ce9a (diff)
downloadgcc-48aedbca8b443b60afa81bfc58107a64f3fb2e99.zip
gcc-48aedbca8b443b60afa81bfc58107a64f3fb2e99.tar.gz
gcc-48aedbca8b443b60afa81bfc58107a64f3fb2e99.tar.bz2
constants.c (find_methodref_index): Unwrap method names before inserting them in the constant pool.
* constants.c (find_methodref_index): Unwrap method names before inserting them in the constant pool. * jcf-parse.c (jcf_parse): Display `interface' when appropriate. * class.c (assume_compiled_node): New typedef. (assume_compiled_tree): New static data. (find_assume_compiled_node): New function. (add_assume_compiled): New function. (assume_compiled): New function. * class.c (make_class_data): Use assume_compiled. (is_compiled_class): Use assume_compiled. * java-tree.h (add_assume_compiled): Declare. * lang.c (lang_decode_option): Parse new options. From-SVN: r30608
Diffstat (limited to 'gcc/java/constants.c')
-rw-r--r--gcc/java/constants.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/java/constants.c b/gcc/java/constants.c
index a1f820e..4620383 100644
--- a/gcc/java/constants.c
+++ b/gcc/java/constants.c
@@ -200,8 +200,11 @@ find_methodref_index (cpool, decl)
int class_index = find_class_constant (cpool, mclass);
tree name = DECL_CONSTRUCTOR_P (decl) ? init_identifier_node
: DECL_NAME (decl);
- int name_type_index
- = find_name_and_type_constant (cpool, name, TREE_TYPE (decl));
+ int name_type_index;
+ if (TREE_CODE (name) == EXPR_WITH_FILE_LOCATION)
+ name = EXPR_WFL_NODE (name);
+ name_type_index =
+ find_name_and_type_constant (cpool, name, TREE_TYPE (decl));
return find_constant1 (cpool,
CLASS_INTERFACE (TYPE_NAME (mclass))
? CONSTANT_InterfaceMethodref