public static RubyClass createArrayJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass arrayJavaProxy = runtime.defineClass("ArrayJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); RubyClass singleton = arrayJavaProxy.getSingletonClass(); final DynamicMethod oldNew = singleton.searchMethod("new"); singleton.addMethod("new", new ArrayNewMethod(singleton, Visibility.PUBLIC, oldNew)); arrayJavaProxy.defineAnnotatedMethods(ArrayJavaProxy.class); arrayJavaProxy.includeModule(runtime.getEnumerable()); return arrayJavaProxy; }
public static RubyClass createArrayJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass arrayJavaProxy = runtime.defineClass("ArrayJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); RubyClass singleton = arrayJavaProxy.getSingletonClass(); final DynamicMethod oldNew = singleton.searchMethod("new"); singleton.addMethod("new", new ArrayNewMethod(singleton, Visibility.PUBLIC, oldNew)); arrayJavaProxy.defineAnnotatedMethods(ArrayJavaProxy.class); arrayJavaProxy.includeModule(runtime.getEnumerable()); return arrayJavaProxy; }
public static RubyClass createArrayJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass arrayJavaProxy = runtime.defineClass("ArrayJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); RubyClass singleton = arrayJavaProxy.getSingletonClass(); singleton.addMethod("new", new ArrayNewMethod(singleton, Visibility.PUBLIC)); arrayJavaProxy.defineAnnotatedMethods(ArrayJavaProxy.class); arrayJavaProxy.includeModule(runtime.getEnumerable()); return arrayJavaProxy; }
public static RubyClass createArrayJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass arrayJavaProxy = runtime.defineClass("ArrayJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); RubyClass singleton = arrayJavaProxy.getSingletonClass(); singleton.addMethod("new", new ArrayNewMethod(singleton, Visibility.PUBLIC)); arrayJavaProxy.defineAnnotatedMethods(ArrayJavaProxy.class); arrayJavaProxy.includeModule(runtime.getEnumerable()); return arrayJavaProxy; }