]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libgcj/34444 (Class.getEnclosingClass() returns null on enclosed class)
authorAndrew Haley <aph@redhat.com>
Fri, 4 Jan 2008 17:18:56 +0000 (17:18 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Fri, 4 Jan 2008 17:18:56 +0000 (17:18 +0000)
2008-01-04  Andrew Haley  <aph@redhat.com>

PR libgcj/34444
* java/lang/natClass.cc (Class::getEnclosingClass): Call
getDeclaringClass().

From-SVN: r131326

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

index 41b7a10d94085722fcab64ddb0852bc0da2b57b9..207248ff871a05498011e9b9036ecf7b315fa9c1 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 47d7739c71509f4d21de2be8e8e915a82fa952a4..5b141605f92f78259eda735d2825537f64199328 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;