public static RubyClass createConcreteJavaProxy(final ThreadContext context) { final Ruby runtime = context.runtime; final RubyClass JavaProxy = runtime.getJavaSupport().getJavaProxyClass(); RubyClass ConcreteJavaProxy = runtime.defineClass("ConcreteJavaProxy", JavaProxy, ALLOCATOR); initialize(ConcreteJavaProxy); return ConcreteJavaProxy; }
public static RubyClass createConcreteJavaProxy(final ThreadContext context) { final Ruby runtime = context.runtime; final RubyClass JavaProxy = runtime.getJavaSupport().getJavaProxyClass(); RubyClass ConcreteJavaProxy = runtime.defineClass("ConcreteJavaProxy", JavaProxy, ALLOCATOR); initialize(ConcreteJavaProxy); return ConcreteJavaProxy; }
public static RubyClass createConcreteJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass concreteJavaProxy = runtime.defineClass("ConcreteJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), new ObjectAllocator() { public IRubyObject allocate(Ruby runtime, RubyClass klazz) { return new ConcreteJavaProxy(runtime, klazz); } }); initialize(concreteJavaProxy); return concreteJavaProxy; }
public static RubyClass createConcreteJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass concreteJavaProxy = runtime.defineClass("ConcreteJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), new ObjectAllocator() { public IRubyObject allocate(Ruby runtime, RubyClass klazz) { return new ConcreteJavaProxy(runtime, klazz); } }); initialize(concreteJavaProxy); return concreteJavaProxy; }
private static IRubyObject invokeProxyClassInherited(final ThreadContext context, final IRubyObject clazz, final IRubyObject subclazz) { final JavaSupport javaSupport = context.runtime.getJavaSupport(); RubyClass javaProxyClass = javaSupport.getJavaProxyClass().getMetaClass(); Helpers.invokeAs(context, javaProxyClass, clazz, "inherited", subclazz, Block.NULL_BLOCK); if ( ! ( subclazz instanceof RubyClass ) ) { throw context.runtime.newTypeError(subclazz, context.runtime.getClassClass()); } setupJavaSubclass(context, (RubyClass) subclazz); return context.nil; }
private static IRubyObject invokeProxyClassInherited(final ThreadContext context, final IRubyObject clazz, final IRubyObject subclazz) { final JavaSupport javaSupport = context.runtime.getJavaSupport(); RubyClass javaProxyClass = javaSupport.getJavaProxyClass().getMetaClass(); Helpers.invokeAs(context, javaProxyClass, clazz, "inherited", subclazz, Block.NULL_BLOCK); if ( ! ( subclazz instanceof RubyClass ) ) { throw context.runtime.newTypeError(subclazz, context.runtime.getClassClass()); } setupJavaSubclass(context, (RubyClass) subclazz); return context.nil; }
public static IRubyObject concrete_proxy_inherited(IRubyObject recv, IRubyObject subclass) { Ruby runtime = recv.getRuntime(); ThreadContext tc = runtime.getCurrentContext(); JavaSupport javaSupport = runtime.getJavaSupport(); RubyClass javaProxyClass = javaSupport.getJavaProxyClass().getMetaClass(); Helpers.invokeAs(tc, javaProxyClass, recv, "inherited", subclass, Block.NULL_BLOCK); return setupJavaSubclass(tc, subclass, recv.callMethod(tc, "java_class")); }
public static IRubyObject concrete_proxy_inherited(IRubyObject recv, IRubyObject subclass) { Ruby runtime = recv.getRuntime(); ThreadContext tc = runtime.getCurrentContext(); JavaSupport javaSupport = runtime.getJavaSupport(); RubyClass javaProxyClass = javaSupport.getJavaProxyClass().getMetaClass(); Helpers.invokeAs(tc, javaProxyClass, recv, "inherited", subclass, Block.NULL_BLOCK); return setupJavaSubclass(tc, subclass, recv.callMethod(tc, "java_class")); }
public static RubyClass createInterfaceJavaProxy(ThreadContext context) { final Ruby runtime = context.runtime; RubyClass InterfaceJavaProxy = runtime.defineClass( "InterfaceJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), ALLOCATOR ); RubyClass JavaInterfaceExtended = runtime.defineClass( "JavaInterfaceExtender", runtime.getObject(), runtime.getObject().getAllocator() ); JavaInterfaceExtended.defineAnnotatedMethods(JavaInterfaceExtender.class); return InterfaceJavaProxy; }
public static RubyClass createInterfaceJavaProxy(ThreadContext context) { final Ruby runtime = context.runtime; RubyClass InterfaceJavaProxy = runtime.defineClass( "InterfaceJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), ALLOCATOR ); RubyClass JavaInterfaceExtended = runtime.defineClass( "JavaInterfaceExtender", runtime.getObject(), runtime.getObject().getAllocator() ); JavaInterfaceExtended.defineAnnotatedMethods(JavaInterfaceExtender.class); return InterfaceJavaProxy; }
public static RubyClass createInterfaceJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass ifcJavaProxy = runtime.defineClass( "InterfaceJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), new ObjectAllocator() { public IRubyObject allocate(Ruby runtime, RubyClass klazz) { return new InterfaceJavaProxy(runtime, klazz); } }); RubyClass javaIfcExtender = runtime.defineClass( "JavaInterfaceExtender", runtime.getObject(), runtime.getObject().getAllocator()); javaIfcExtender.defineAnnotatedMethods(JavaInterfaceExtender.class); return ifcJavaProxy; }
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; }
public static RubyClass createInterfaceJavaProxy(ThreadContext context) { Ruby runtime = context.runtime; RubyClass ifcJavaProxy = runtime.defineClass( "InterfaceJavaProxy", runtime.getJavaSupport().getJavaProxyClass(), new ObjectAllocator() { public IRubyObject allocate(Ruby runtime, RubyClass klazz) { return new InterfaceJavaProxy(runtime, klazz); } }); RubyClass javaIfcExtender = runtime.defineClass( "JavaInterfaceExtender", runtime.getObject(), runtime.getObject().getAllocator()); javaIfcExtender.defineAnnotatedMethods(JavaInterfaceExtender.class); return ifcJavaProxy; }
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; }