@JRubyMethod(name = "[]", meta = true, rest = true) public static IRubyObject op_aref(ThreadContext context, IRubyObject recv, IRubyObject[] args) { IRubyObject javaClass = Helpers.invoke(context, recv, "java_class"); if (args.length > 0) { // construct new array proxy (ArrayJavaProxy) ArrayJavaProxyCreator ajpc = new ArrayJavaProxyCreator(context.runtime); ajpc.setup(context, javaClass, args); return ajpc; } else { return Java.get_proxy_class(javaClass, Helpers.invoke(context, javaClass, "array_class")); } }
ArrayJavaProxyCreator(final ThreadContext context, JavaClass elementType, final IRubyObject[] sizes) { this(context.runtime, elementType.javaClass()); assert sizes.length > 0; aggregateDimensions(sizes); }
ArrayJavaProxyCreator.createArrayJavaProxyCreator(context); ConcreteJavaProxy.createConcreteJavaProxy(context); InterfaceJavaProxy.createInterfaceJavaProxy(context);
@JRubyMethod(name = "[]", meta = true, rest = true) public static IRubyObject op_aref(ThreadContext context, IRubyObject self, IRubyObject[] args) { final JavaClass javaClass = java_class(context, (RubyModule) self); if ( args.length > 0 ) { // construct new array proxy (ArrayJavaProxy) return new ArrayJavaProxyCreator(context, javaClass, args); // e.g. Byte[64] } return Java.get_proxy_class(javaClass, Helpers.invoke(context, javaClass, "array_class")); }
ArrayJavaProxyCreator.createArrayJavaProxyCreator(context); ConcreteJavaProxy.createConcreteJavaProxy(context); InterfaceJavaProxy.createInterfaceJavaProxy(context);
@JRubyMethod(name = "[]", meta = true, rest = true) public static IRubyObject op_aref(ThreadContext context, IRubyObject self, IRubyObject[] args) { final JavaClass javaClass = java_class(context, (RubyModule) self); if ( args.length > 0 ) { // construct new array proxy (ArrayJavaProxy) return new ArrayJavaProxyCreator(context, javaClass, args); // e.g. Byte[64] } return Java.get_proxy_class(javaClass, Helpers.invoke(context, javaClass, "array_class")); }
ArrayJavaProxyCreator(final ThreadContext context, JavaClass elementType, final IRubyObject[] sizes) { this(context.runtime, elementType.javaClass()); assert sizes.length > 0; aggregateDimensions(sizes); }
@JRubyMethod(name = "[]", meta = true, rest = true) public static IRubyObject op_aref(ThreadContext context, IRubyObject recv, IRubyObject[] args) { IRubyObject javaClass = Helpers.invoke(context, recv, "java_class"); if (args.length > 0) { // construct new array proxy (ArrayJavaProxy) ArrayJavaProxyCreator ajpc = new ArrayJavaProxyCreator(context.runtime); ajpc.setup(context, javaClass, args); return ajpc; } else { return Java.get_proxy_class(javaClass, Helpers.invoke(context, javaClass, "array_class")); } }
ArrayJavaProxyCreator.createArrayJavaProxyCreator(context); ConcreteJavaProxy.createConcreteJavaProxy(context); InterfaceJavaProxy.createInterfaceJavaProxy(context);
public void setup(ThreadContext context, IRubyObject javaClass, IRubyObject[] sizes) { elementClass = (Class) javaClass.toJava(Class.class); aggregateDimensions(sizes); }
ArrayJavaProxyCreator.createArrayJavaProxyCreator(context); ConcreteJavaProxy.createConcreteJavaProxy(context); InterfaceJavaProxy.createInterfaceJavaProxy(context);
public void setup(ThreadContext context, IRubyObject javaClass, IRubyObject[] sizes) { elementClass = (Class) javaClass.toJava(Class.class); aggregateDimensions(sizes); }
@JRubyMethod(name = "[]", required = 1, rest = true) public final IRubyObject op_aref(ThreadContext context, IRubyObject[] sizes) { Arity.checkArgumentCount(context.runtime, sizes, 1, -1); aggregateDimensions(sizes); return this; }
@JRubyMethod(name = "[]", required = 1, rest = true) public final IRubyObject op_aref(ThreadContext context, IRubyObject[] sizes) { Arity.checkArgumentCount(context.runtime, sizes, 1, -1); aggregateDimensions(sizes); return this; }
@JRubyMethod(required = 1, rest = true) public IRubyObject op_aref(ThreadContext context, IRubyObject[] sizes) { Arity.checkArgumentCount(context.runtime, sizes, 1, -1); aggregateDimensions(sizes); return this; }
@JRubyMethod(required = 1, rest = true) public IRubyObject op_aref(ThreadContext context, IRubyObject[] sizes) { Arity.checkArgumentCount(context.runtime, sizes, 1, -1); aggregateDimensions(sizes); return this; }