aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2008-01-04 17:18:56 +0000
committerAndrew Haley <aph@gcc.gnu.org>2008-01-04 17:18:56 +0000
commitd5b7beb930410a0b3dfa18f86c5811cade009601 (patch)
tree4c9618e7ecb416cef843ba116d6a4ab10533c456 /libjava/java
parentbdb69beee91adebad0d3b6b0d3dd0f3810dbe7a2 (diff)
downloadgcc-d5b7beb930410a0b3dfa18f86c5811cade009601.zip
gcc-d5b7beb930410a0b3dfa18f86c5811cade009601.tar.gz
gcc-d5b7beb930410a0b3dfa18f86c5811cade009601.tar.bz2
re PR libgcj/34444 (Class.getEnclosingClass() returns null on enclosed class)
2008-01-04 Andrew Haley <aph@redhat.com> PR libgcj/34444 * java/lang/natClass.cc (Class::getEnclosingClass): Call getDeclaringClass(). From-SVN: r131326
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/natClass.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index 47d7739..5b14160 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -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;