decl.c (classdollar_identifier_node): Initialize.
2001-02-13 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (classdollar_identifier_node): Initialize. * java-tree.h (enum java_tree_index): New entry `JTI_CLASSDOLLAR_IDENTIFIER_NODE.' (classdollar_identifier_node): New macro. (ID_CLASSDOLLAR_P): Likewise. * parse.y (build_dot_class_method): Use `classdollar_identifier_node.' (build_dot_class_method_invocation): Likewise. (find_applicable_accessible_methods_list): `class$' can't be inherited. (http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00760.html) From-SVN: r39650
This commit is contained in:
parent
7093c9eac4
commit
94807d3318
4 changed files with 23 additions and 6 deletions
|
@ -1,3 +1,15 @@
|
|||
2001-02-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
|
||||
* decl.c (classdollar_identifier_node): Initialize.
|
||||
* java-tree.h (enum java_tree_index): New entry
|
||||
`JTI_CLASSDOLLAR_IDENTIFIER_NODE.'
|
||||
(classdollar_identifier_node): New macro.
|
||||
(ID_CLASSDOLLAR_P): Likewise.
|
||||
* parse.y (build_dot_class_method): Use `classdollar_identifier_node.'
|
||||
(build_dot_class_method_invocation): Likewise.
|
||||
(find_applicable_accessible_methods_list): `class$' can't be
|
||||
inherited.
|
||||
|
||||
2001-02-09 Raja R Harinath <harinath@cs.umn.edu>
|
||||
|
||||
* Make-lang.in (java/mangle_name.o): Add 'make' prereqs.
|
||||
|
|
|
@ -602,6 +602,7 @@ init_decl_processing ()
|
|||
super_identifier_node = get_identifier ("super");
|
||||
continue_identifier_node = get_identifier ("continue");
|
||||
access0_identifier_node = get_identifier ("access$0");
|
||||
classdollar_identifier_node = get_identifier ("class$");
|
||||
|
||||
/* for lack of a better place to put this stub call */
|
||||
init_expr_processing();
|
||||
|
|
|
@ -270,6 +270,7 @@ enum java_tree_index
|
|||
JTI_SUPER_IDENTIFIER_NODE,
|
||||
JTI_CONTINUE_IDENTIFIER_NODE,
|
||||
JTI_ACCESS0_IDENTIFIER_NODE,
|
||||
JTI_CLASSDOLLAR_IDENTIFIER_NODE,
|
||||
JTI_ONE_ELT_ARRAY_DOMAIN_TYPE,
|
||||
|
||||
JTI_RETURN_ADDRESS_TYPE_NODE,
|
||||
|
@ -460,6 +461,8 @@ extern tree java_global_trees[JTI_MAX];
|
|||
java_global_trees[JTI_CONTINUE_IDENTIFIER_NODE] /* "continue" */
|
||||
#define access0_identifier_node \
|
||||
java_global_trees[JTI_ACCESS0_IDENTIFIER_NODE] /* "access$0" */
|
||||
#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. */
|
||||
|
@ -1154,6 +1157,7 @@ struct rtx_def * java_lang_expand_expr PARAMS ((tree, rtx, enum machine_mode,
|
|||
#define ID_FINIT_P(ID) ((ID) == finit_identifier_node \
|
||||
|| (ID) == finit_leg_identifier_node)
|
||||
#define ID_CLINIT_P(ID) ((ID) == clinit_identifier_node)
|
||||
#define ID_CLASSDOLLAR_P(ID) ((ID) == classdollar_identifier_node)
|
||||
|
||||
/* Access flags etc for a variable/field (a FIELD_DECL): */
|
||||
|
||||
|
|
|
@ -8327,7 +8327,7 @@ build_dot_class_method (class)
|
|||
/* Create the "class$" function */
|
||||
mdecl = create_artificial_method (class, ACC_STATIC,
|
||||
build_pointer_type (class_type_node),
|
||||
get_identifier ("class$"), args);
|
||||
classdollar_identifier_node, args);
|
||||
DECL_FUNCTION_THROWS (mdecl) = build_tree_list (NULL_TREE,
|
||||
no_class_def_found_error);
|
||||
|
||||
|
@ -8401,7 +8401,7 @@ build_dot_class_method_invocation (type)
|
|||
|
||||
s = build_string (IDENTIFIER_LENGTH (sig_id),
|
||||
IDENTIFIER_POINTER (sig_id));
|
||||
return build_method_invocation (build_wfl_node (get_identifier ("class$")),
|
||||
return build_method_invocation (build_wfl_node (classdollar_identifier_node),
|
||||
build_tree_list (NULL_TREE, s));
|
||||
}
|
||||
|
||||
|
@ -10427,10 +10427,10 @@ find_applicable_accessible_methods_list (lc, class, name, arglist)
|
|||
search_applicable_methods_list (lc, TYPE_METHODS (class),
|
||||
name, arglist, &list, &all_list);
|
||||
|
||||
/* When looking finit$, we turn LC to 1 so that we only search
|
||||
in class. Note that we should have found something at
|
||||
this point. */
|
||||
if (ID_FINIT_P (name))
|
||||
/* When looking finit$ or class$, we turn LC to 1 so that we
|
||||
only search in class. Note that we should have found
|
||||
something at this point. */
|
||||
if (ID_FINIT_P (name) || ID_CLASSDOLLAR_P (name))
|
||||
{
|
||||
lc = 1;
|
||||
if (!list)
|
||||
|
|
Loading…
Add table
Reference in a new issue