public MethodHandle getNormalYieldSpecificHandle() { MethodHandle normalYieldSpecificHandle = this.normalYieldSpecificHandle; if (normalYieldSpecificHandle != null) return normalYieldSpecificHandle; return this.normalYieldSpecificHandle = Binder.from(IRubyObject.class, ThreadContext.class, Block.class) .append(new Class[] {StaticScope.class, IRubyObject.class, IRubyObject[].class, Block.class}, getStaticScope(), null, null, Block.NULL_BLOCK) .invoke(handle); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, int value) { return new SmartBinder(this, signature().appendArg(name, int.class), binder.append(value)); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, double value) { return new SmartBinder(this, signature().appendArg(name, double.class), binder.append(value)); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, float value) { return new SmartBinder(this, signature().appendArg(name, float.class), binder.append(value)); }
public MethodHandle getTestBlockBody() { final MethodHandle testBlockBody = this.testBlockBody; if (testBlockBody != null) return testBlockBody; return this.testBlockBody = Binder.from(boolean.class, ThreadContext.class, Block.class).drop(0).append(this).invoke(TEST_BLOCK_BODY); }
public MethodHandle getNormalYieldSpecificHandle() { MethodHandle normalYieldSpecificHandle = this.normalYieldSpecificHandle; if (normalYieldSpecificHandle != null) return normalYieldSpecificHandle; return this.normalYieldSpecificHandle = Binder.from(IRubyObject.class, ThreadContext.class, Block.class) .append(new Class[] {StaticScope.class, IRubyObject.class, IRubyObject[].class, Block.class}, getStaticScope(), null, null, Block.NULL_BLOCK) .invoke(handle); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, byte value) { return new SmartBinder(this, signature().appendArg(name, byte.class), binder.append(value)); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, long value) { return new SmartBinder(this, signature().appendArg(name, long.class), binder.append(value)); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param type the type to use in the new signature * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, Class<?> type, Object value) { return new SmartBinder(this, signature().appendArg(name, type), binder.append(new Class<?>[]{type}, value)); }
public MethodHandle getTestBlockBody() { final MethodHandle testBlockBody = this.testBlockBody; if (testBlockBody != null) return testBlockBody; return this.testBlockBody = Binder.from(boolean.class, ThreadContext.class, Block.class).drop(0).append(this).invoke(TEST_BLOCK_BODY); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, short value) { return new SmartBinder(this, signature().appendArg(name, short.class), binder.append(value)); }
/** * Append the given argument to the argument list, assigning it the * given name. * * @param name the name of the new argument * @param value the value of the new argument * @return a new SmartBinder with the append applied */ public SmartBinder append(String name, char value) { return new SmartBinder(this, signature().appendArg(name, char.class), binder.append(value)); }
public static CallSite contextValueString(Lookup lookup, String name, MethodType type, String str) { MutableCallSite site = new MutableCallSite(type); site.setTarget(Binder.from(type).append(site, str).invokeStaticQuiet(lookup, Bootstrap.class, name)); return site; }
public static CallSite contextValue(Lookup lookup, String name, MethodType type) { MutableCallSite site = new MutableCallSite(type); site.setTarget(Binder.from(type).append(site).invokeStaticQuiet(lookup, Bootstrap.class, name)); return site; }
public static CallSite contextValue(Lookup lookup, String name, MethodType type) { MutableCallSite site = new MutableCallSite(type); site.setTarget(Binder.from(type).append(site).invokeStaticQuiet(lookup, Bootstrap.class, name)); return site; }
public static CallSite contextValueString(Lookup lookup, String name, MethodType type, String str) { MutableCallSite site = new MutableCallSite(type); site.setTarget(Binder.from(type).append(site, str).invokeStaticQuiet(lookup, Bootstrap.class, name)); return site; }
public MethodHandle getNormalYieldUnwrapHandle() { MethodHandle normalYieldUnwrapHandle = this.normalYieldUnwrapHandle; if (normalYieldUnwrapHandle != null) return normalYieldUnwrapHandle; return this.normalYieldUnwrapHandle = Binder.from(IRubyObject.class, ThreadContext.class, Block.class, IRubyObject.class) .filter(2, VALUE_TO_ARRAY) .insert(2, new Class[] {StaticScope.class, IRubyObject.class}, getStaticScope(), null) .append(Block.class, Block.NULL_BLOCK) .invoke(handle); } //
public MethodHandle getNormalYieldUnwrapHandle() { MethodHandle normalYieldUnwrapHandle = this.normalYieldUnwrapHandle; if (normalYieldUnwrapHandle != null) return normalYieldUnwrapHandle; return this.normalYieldUnwrapHandle = Binder.from(IRubyObject.class, ThreadContext.class, Block.class, IRubyObject.class) .filter(2, VALUE_TO_ARRAY) .insert(2, new Class[] {StaticScope.class, IRubyObject.class}, getStaticScope(), null) .append(Block.class, Block.NULL_BLOCK) .invoke(handle); } //
public MethodHandle getNormalYieldHandle() { MethodHandle normalYieldHandle = this.normalYieldHandle; if (normalYieldHandle != null) return normalYieldHandle; return this.normalYieldHandle = Binder.from(IRubyObject.class, ThreadContext.class, Block.class, IRubyObject.class) .filter(2, WRAP_VALUE) .insert(2, new Class[]{StaticScope.class, IRubyObject.class}, getStaticScope(), null) .append(Block.class, Block.NULL_BLOCK) .invoke(handle); }
public MethodHandle getNormalYieldHandle() { MethodHandle normalYieldHandle = this.normalYieldHandle; if (normalYieldHandle != null) return normalYieldHandle; return this.normalYieldHandle = Binder.from(IRubyObject.class, ThreadContext.class, Block.class, IRubyObject.class) .filter(2, WRAP_VALUE) .insert(2, new Class[]{StaticScope.class, IRubyObject.class}, getStaticScope(), null) .append(Block.class, Block.NULL_BLOCK) .invoke(handle); }