diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 89cef7c319dd3a8ac3b9746629b71801219180d9..baf89cb36938296ebef1237b535df5dd90c74664 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,12 @@
+2006-02-09  Andrew Haley  <aph@redhat.com>
+
+	PR java/26192
+	* expr.c (expand_invoke): Allow methods in arrays to be resolved
+	in their superclass.
+
+	* typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
+	array types.
+	
 2006-02-08  Tom Tromey  <tromey@redhat.com>
 
 	PR java/22578:
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 52f7e488b32fd005f6cd254fdd020a6921a4273b..785ccc485bf63b7f368342883849f774ad4b8307 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -2279,6 +2279,7 @@ expand_invoke (int opcode, int method_ref_index, int nargs ATTRIBUTE_UNUSED)
      superclass chain when we're BC-compiling.  */
   if (! flag_verify_invocations
       && method
+      && ! TYPE_ARRAY_P (self_type)
       && self_type != DECL_CONTEXT (method))
     method = NULL_TREE;
 
diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c
index eac1b53c8d0198c845df0e331e523b2562b1b1e5..3441a1d8663f338ee9e639d47c9060452f2ed436 100644
--- a/gcc/java/typeck.c
+++ b/gcc/java/typeck.c
@@ -385,9 +385,11 @@ build_java_array_type (tree element_type, HOST_WIDE_INT length)
     else
       strcpy (suffix, "[]");
     TYPE_NAME (t) 
+      = TYPE_STUB_DECL (t)
       = build_decl (TYPE_DECL,
 		    identifier_subst (el_name, "", '.', '.', suffix),
                              t);
+    TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (t)) = true;
   }
 
   set_java_signature (t, sig);