Comment 3 for bug 827463

Revision history for this message
Xerxes RĂ„nby (xranby) wrote :

I have forwarded this bug to the JamVM mailinglist:

It looks like JamVM source for the gnuclasspath bindings have support for getEnclosingClass, I will look into getting the JamVM+OpenJDK combination to implement the same bindings.

(oneiric)xranby@ac100:~/icedtea6-jamvm/jamvm/jamvm/src/classlib$ grep getEnclosing -r *
gnuclasspath/reflect.c:Class *getEnclosingClass(Class *class) {
gnuclasspath/reflect.c:MethodBlock *getEnclosingMethod(Class *class) {
gnuclasspath/reflect.c: Class *enclosing_class = getEnclosingClass(class);
gnuclasspath/reflect.c:Object *getEnclosingMethodObject(Class *class) {
gnuclasspath/reflect.c: MethodBlock *mb = getEnclosingMethod(class);
gnuclasspath/reflect.c:Object *getEnclosingConstructorObject(Class *class) {
gnuclasspath/reflect.c: MethodBlock *mb = getEnclosingMethod(class);
gnuclasspath/natives.c:uintptr_t *getEnclosingClass0(Class *class, MethodBlock *mb,
gnuclasspath/natives.c: *ostack++ = (uintptr_t) getEnclosingClass(clazz);
gnuclasspath/natives.c:uintptr_t *getEnclosingMethod0(Class *class, MethodBlock *mb,
gnuclasspath/natives.c: *ostack++ = (uintptr_t) getEnclosingMethodObject(clazz);
gnuclasspath/natives.c:uintptr_t *getEnclosingConstructor(Class *class, MethodBlock *mb,
gnuclasspath/natives.c: *ostack++ = (uintptr_t) getEnclosingConstructorObject(clazz);
gnuclasspath/natives.c: {"getEnclosingClass", NULL, getEnclosingClass0},
gnuclasspath/natives.c: {"getEnclosingMethod", NULL, getEnclosingMethod0},
gnuclasspath/natives.c: {"getEnclosingConstructor", NULL, getEnclosingConstructor},
gnuclasspath/lib/java/lang/VMClass.java: Class enclosingClass = getEnclosingClass(klass);
gnuclasspath/lib/java/lang/VMClass.java: static native Class getEnclosingClass(Class klass);
gnuclasspath/lib/java/lang/VMClass.java: static native Constructor getEnclosingConstructor(Class klass);
gnuclasspath/lib/java/lang/VMClass.java: static native Method getEnclosingMethod(Class klass);