Package org.dynalang.dynalink.linker

Examples of org.dynalang.dynalink.linker.CallSiteDescriptor


    }

    private static Object invokeDynamically(RelinkableCallSite callSite,
            Object[] args) throws Throwable {
        final Class<?> receiverClass = args[0].getClass();
        final CallSiteDescriptor descriptor = callSite.getCallSiteDescriptor();
        final Class<?>[] signature =
                descriptor.getMethodType().parameterArray();
        final Class<?>[] reflectSignature = new Class<?>[signature.length - 1];
        System.arraycopy(signature, 1, reflectSignature, 0,
                reflectSignature.length);
        final Method m =
                receiverClass.getMethod(descriptor.getNameToken(0), reflectSignature);
        final MethodHandle unreflected = MethodHandles.lookup().unreflect(m);
        return unreflected.invokeWithArguments(args);
    }
View Full Code Here

TOP

Related Classes of org.dynalang.dynalink.linker.CallSiteDescriptor

Copyright © 2018 www.massapicom. 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.