2008-01-04 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Jan 2008 17:18:56 +0000 (17:18 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Jan 2008 17:18:56 +0000 (17:18 +0000)
PR libgcj/34444
* java/lang/natClass.cc (Class::getEnclosingClass): Call
getDeclaringClass().

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

libjava/ChangeLog
libjava/java/lang/natClass.cc

index 41b7a10..207248f 100644 (file)
@@ -1,3 +1,9 @@
+2008-01-04  Andrew Haley  <aph@redhat.com>
+
+       PR libgcj/34444
+       * java/lang/natClass.cc (Class::getEnclosingClass): Call
+       getDeclaringClass().
+
 2007-12-22  David Daney  <ddaney@avtrex.com>
 
        * scripts/makemake.tcl (emit_bc_rule): Use $(LIBGCJ_BC_FLAGS)
index 47d7739..5b14160 100644 (file)
@@ -1043,7 +1043,8 @@ java::lang::Class::getEnclosingClass()
   _Jv_word indexes;
   indexes.i = getEnclosingMethodData();
   if (indexes.i == 0)
-    return NULL;
+    // No enclosing method, but perhaps a member or anonymous class
+    return getDeclaringClass();
   _Jv_ushort class_index, method_index;
   _Jv_loadIndexes (&indexes, class_index, method_index);
   return _Jv_Linker::resolve_pool_entry (this, class_index).clazz;