func createArgs() *rtc.Obj { jArgs := make([]*rtc.Obj, len(_args)) for i, arg := range _args { jArgs[i] = rtda.JString(arg) } return rtc.NewRefArray2(_classLoader.JLStringClass(), jArgs) }
// private native Class<?>[] getInterfaces0(); // ()[Ljava/lang/Class; func getInterfaces0(frame *rtda.Frame) { class := _popClass(frame) interfaces := class.Interfaces() interfaceObjs := make([]*rtc.Obj, len(interfaces)) for i, iface := range interfaces { interfaceObjs[i] = iface.JClass() } jlClassClass := rtc.BootLoader().JLClassClass() interfaceArr := rtc.NewRefArray2(jlClassClass, interfaceObjs) stack := frame.OperandStack() stack.PushRef(interfaceArr) }
func _createEnclosintMethodInfo(classLoader *rtc.ClassLoader, emInfo *rtc.EnclosingMethod) *rtc.Obj { if emInfo == nil { return nil } enclosingClass := classLoader.LoadClass(emInfo.ClassName()) enclosingClassObj := enclosingClass.JClass() var methodNameObj, methodDescriptorObj *rtc.Obj if emInfo.MethodName() != "" { methodNameObj = rtda.JString(emInfo.MethodName()) methodDescriptorObj = rtda.JString(emInfo.MethodDescriptor()) } else { methodNameObj, methodDescriptorObj = nil, nil } objs := []*rtc.Obj{enclosingClassObj, methodNameObj, methodDescriptorObj} return rtc.NewRefArray2(classLoader.JLObjectClass(), objs) // Object[] }