* constants.c (find_methodref_index): When the class is an interface,
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Dec 1998 15:43:10 +0000 (15:43 +0000)
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Dec 1998 15:43:10 +0000 (15:43 +0000)
commit5a6abe0d3148e691e21593b751b9344abbe07310
tree701b5e096dbd90479f5230628077109a1f34c72e
parent00753f6a6a574bb651d47232fa4216083c92fcf0
* constants.c (find_methodref_index):  When the class is an interface,
generate CONSTANT_InterfaceMethodref instead of a CONSTANT_MethodRef.
* decl.c (finit_identifier_node):  Use "$finit$", rather than
"<finit>" (which Sun's verifier rejects).
* parse.y (maybe_generate_finit):  Leave out meaningless final flag.
(generate_field_initialization_code):  Removed.
(fix_constructors)  Don't add call to $finit$ here (wrong order).
(patch_method_invocation):  Add $finit$ call here.
* java-tree.h (CALL_USING_SUPER):  New macro.
* parse.y (patch_invoke):  Remove im local variable.
  (patch_method_invocation, patch_invoke):  Don't pass super parameter.
(patch_invoke):  Use CALL_USING_SUPER instead of from_super parameter.
(resolve_qualified_expression_name):  Maybe set CALL_USING_SUPER.
* jcf-write.c (get_access_flags):  Fix typo ACC_PUBLIC -> ACC_FINAL.
* parse.y (java_complete_tree):  Don't complain about unreachable
statement if it is empty_stmt_node.
* jcf-write.c (find_constant_wide):  New function.
(push_long_const):  Use find_constant_wide.
* jcf-write.c (generate_bytecode_insn):  Fix bug in switch handling.
(generate_bytecode_insn):  Use correct dup variant for MODIFY_EXPR.
Add "redundant" NOTE_PUSH/NOTE_POP uses so code_SP_max gets set.
Emit invokeinterface when calling an interface method.
Emit invokespecial also when calling super or private methods.
* jcf-write.c (generate_classfile):  Emit ConstantValue attributes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24159 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/java/ChangeLog