List of usage examples for org.apache.commons.javaflow.providers.asm5 Asm5ResourceTransformationFactory Asm5ResourceTransformationFactory
Asm5ResourceTransformationFactory
From source file:org.apache.commons.javaflow.examples.invokedynamic.DynamicInvokerExample.java
private static Class<Runnable> generateDynamicInvokerClass(final String dynamicInvokerClassName) { AbstractDynamicInvokerGenerator generator = new AbstractDynamicInvokerGenerator() { @Override/*w w w .j av a2s . c o m*/ protected int addMethodParameters(final MethodVisitor mv) { return 0; } }; byte[] dynamicClassBytes = generator.generateInvokeDynamicRunnable(dynamicInvokerClassName, Type.getType(SimpleDynamicLinkage.class).getInternalName(), "bootstrapDynamic", "()V"); @SuppressWarnings("resource") ContinuationClassLoader delegateClassLoader = new ContinuationClassLoader(new URL[] {}, DynamicInvokerExample.class.getClassLoader(), new Asm5ResourceTransformationFactory()); @SuppressWarnings("unchecked") Class<Runnable> dynamicClass = (Class<Runnable>) delegateClassLoader.defineClassFromData(dynamicClassBytes, dynamicInvokerClassName); return dynamicClass; }