java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
commite00388458d34ab0954df5d12c9d45ee0fd794e58
authorAndrew Haley <aph@redhat.com>
Thu, 8 Dec 2005 13:52:39 +0000 (8 13:52 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Thu, 8 Dec 2005 13:52:39 +0000 (8 13:52 +0000)
treefce2e1ab440f686a57534e6eac2bcc137e816805
parentac3ebe93b6ba2eb7c6b8f4f9e6bc2eb253fe586c
java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.

2005-12-08  Andrew Haley  <aph@redhat.com>

* java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
(soft_abstractmethod_node): New.
* expr.c (build_field_ref): Add in-line check for missing field.
* decl.c (java_init_decl_processing): Add soft_nosuchfield_node.

2005-12-08  Andrew Haley  <aph@redhat.com>

* java/lang/Object.h (throwNoSuchMethodError): New method.
* java/lang/Object.java (throwNoSuchMethodError): New method.
* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
* link.cc (_Jv_ThrowNoSuchFieldError): New.
(link_symbol_table): Don't throw a NoSuchFieldError if a field is
missing.  Instead, set the otable entry to zero.
(link_symbol_table): If we don't find a nonstatic method, insert
the vtable offset of Object.throwNoSuchMethodError() into the
otable.

[[Split portion of a mixed commit.]]

From-SVN: r108230.2
gcc/java/ChangeLog
gcc/java/decl.c
gcc/java/expr.c
gcc/java/java-tree.h