diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/parse.y | 22 |
2 files changed, 16 insertions, 11 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 5c2199e..ed7106b 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2003-01-27 Tom Tromey <tromey@redhat.com> + + * parse.y (java_check_regular_methods): Check for construct after + checking types in throws clause. + 2003-01-24 Tom Tromey <tromey@redhat.com> * class.c (build_static_field_ref): Only a String or numeric field diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 04c3cb5..48d48a9 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -6260,17 +6260,8 @@ java_check_regular_methods (tree class_decl) if (check_method_redefinition (class, method)) continue; - /* If we see one constructor a mark so we don't generate the - default one. Also skip other verifications: constructors - can't be inherited hence hiden or overriden */ - if (DECL_CONSTRUCTOR_P (method)) - { - saw_constructor = 1; - continue; - } - - /* We verify things thrown by the method. They must inherits from - java.lang.Throwable */ + /* We verify things thrown by the method. They must inherit from + java.lang.Throwable. */ for (mthrows = DECL_FUNCTION_THROWS (method); mthrows; mthrows = TREE_CHAIN (mthrows)) { @@ -6281,6 +6272,15 @@ java_check_regular_methods (tree class_decl) (DECL_NAME (TYPE_NAME (TREE_VALUE (mthrows))))); } + /* If we see one constructor a mark so we don't generate the + default one. Also skip other verifications: constructors + can't be inherited hence hidden or overridden. */ + if (DECL_CONSTRUCTOR_P (method)) + { + saw_constructor = 1; + continue; + } + sig = build_java_argument_signature (TREE_TYPE (method)); found = lookup_argument_method2 (class, DECL_NAME (method), sig); |