Package com.headius.invokebinder

Examples of com.headius.invokebinder.SmartHandle.handle()


                SmartHandle rewriteHandle = SmartBinder.from(lookup(), site.signature().insertArg(0, "throwable", Throwable.class))
                        .permute("throwable")
                        .append("runtime", method.getImplementationClass().getRuntime())
                        .invokeStaticQuiet(lookup(), Helpers.class, "rewriteStackTraceAndThrow");

                nativeTarget = catchException(nativeTarget, Throwable.class, rewriteHandle.handle());
            }
        }
       
        return nativeTarget;
    }
View Full Code Here


                        .permute("self")
                        .insert(0, "selfClass", RubyClass.class, testClass)
                        .invokeStaticQuiet(Bootstrap.LOOKUP, Bootstrap.class, "testType");
            }

            gwt = MethodHandles.guardWithTest(test.handle(), target, fallback);

            // wrap in switchpoint for mutation invalidation
            gwt = switchPoint.guardWithTest(gwt, fallback);

            setTarget(gwt);
View Full Code Here

            }

            // wrap with framing logic if needed
            if (!callConfig.isNoop()) {
                directCall = SmartHandle
                        .from(directCall.signature(), InvocationLinker.wrapWithFraming(directCall.signature(), callConfig, implementationClass, rubyName, directCall.handle(), scope));
            }

            // provide a variable-arity path for specific-arity target
            SmartHandle variableCall;
            if (specificArity >= 0) {
View Full Code Here

            }

            CallConfiguration callConfig = CallConfiguration.getCallConfigByAnno(desc.anno);
            if (!callConfig.isNoop()) {
                target = SmartHandle
                        .from(target.signature(), InvocationLinker.wrapWithFraming(baseSignature, callConfig, implementationClass, rubyName, target.handle(), null));
            }
           
            if (specificArity >= 0) {
                targets[specificArity] = target.handle();
            } else {
View Full Code Here

                target = SmartHandle
                        .from(target.signature(), InvocationLinker.wrapWithFraming(baseSignature, callConfig, implementationClass, rubyName, target.handle(), null));
            }
           
            if (specificArity >= 0) {
                targets[specificArity] = target.handle();
            } else {
                targets[4] = target.handle();
            }
        }
       
View Full Code Here

            }
           
            if (specificArity >= 0) {
                targets[specificArity] = target.handle();
            } else {
                targets[4] = target.handle();
            }
        }
       
        if (targets[4] == null) {
            // provide a variable-arity path for specific-arity target
View Full Code Here

            SmartHandle variableCall = SmartBinder
                    .from(VARIABLE_ARITY_SIGNATURE)
                    .fold("handle", handleLookup)
                    .invoker();
           
            targets[4] = variableCall.handle();
        }
       
       
        // TODO: tracing
       
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.