aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/parse.y22
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);