/javo/JDK_sun_reflect_Reflection.go

https://github.com/chaoyangnz/jago · Go · 21 lines · 16 code · 4 blank · 1 comment · 3 complexity · afdea1044f558d86ca835c98da62633e MD5 · raw file

  1. package javo
  2. func register_sun_reflect_Reflection() {
  3. VM.RegisterNative("sun/reflect/Reflection.getCallerClass()Ljava/lang/Class;", JDK_sun_reflect_Reflection_getCallerClass)
  4. VM.RegisterNative("sun/reflect/Reflection.getClassAccessFlags(Ljava/lang/Class;)I", JDK_sun_reflect_Reflection_getClassAccessFlags)
  5. }
  6. func JDK_sun_reflect_Reflection_getCallerClass() JavaLangClass {
  7. //todo
  8. vmStack := VM.CurrentThread().vmStack
  9. if len(vmStack) == 1 {
  10. return NULL
  11. } else {
  12. return vmStack[len(vmStack)-2].method.class.ClassObject()
  13. }
  14. }
  15. func JDK_sun_reflect_Reflection_getClassAccessFlags(classObj JavaLangClass) Int {
  16. return Int(u16toi32(classObj.retrieveType().(*Class).accessFlags))
  17. }