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);
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 * reflect. c:Class *getEnclosingCl ass(Class *class) { reflect. c:MethodBlock *getEnclosingMe thod(Class *class) { reflect. c: Class *enclosing_class = getEnclosingCla ss(class) ; reflect. c:Object *getEnclosingMe thodObject( Class *class) { reflect. c: MethodBlock *mb = getEnclosingMet hod(class) ; reflect. c:Object *getEnclosingCo nstructorObject (Class *class) { reflect. c: MethodBlock *mb = getEnclosingMet hod(class) ; natives. c:uintptr_ t *getEnclosingCl ass0(Class *class, MethodBlock *mb, natives. c: *ostack++ = (uintptr_t) getEnclosingCla ss(clazz) ; natives. c:uintptr_ t *getEnclosingMe thod0(Class *class, MethodBlock *mb, natives. c: *ostack++ = (uintptr_t) getEnclosingMet hodObject( clazz); natives. c:uintptr_ t *getEnclosingCo nstructor( Class *class, MethodBlock *mb, natives. c: *ostack++ = (uintptr_t) getEnclosingCon structorObject( clazz); natives. c: {"getEnclosingC lass", NULL, getEnclosingCla ss0}, natives. c: {"getEnclosingM ethod", NULL, getEnclosingMet hod0}, natives. c: {"getEnclosingC onstructor" , NULL, getEnclosingCon structor} , lib/java/ lang/VMClass. java: Class enclosingClass = getEnclosingCla ss(klass) ; lib/java/ lang/VMClass. java: static native Class getEnclosingCla ss(Class klass); lib/java/ lang/VMClass. java: static native Constructor getEnclosingCon structor( Class klass); lib/java/ lang/VMClass. java: static native Method getEnclosingMet hod(Class klass);
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/
gnuclasspath/