Example usage for org.objectweb.asm.tree InvokeDynamicInsnNode InvokeDynamicInsnNode

List of usage examples for org.objectweb.asm.tree InvokeDynamicInsnNode InvokeDynamicInsnNode

Introduction

In this page you can find the example usage for org.objectweb.asm.tree InvokeDynamicInsnNode InvokeDynamicInsnNode.

Prototype

public InvokeDynamicInsnNode(final String name, final String descriptor, final Handle bootstrapMethodHandle,
        final Object... bootstrapMethodArguments) 

Source Link

Document

Constructs a new InvokeDynamicInsnNode .

Usage

From source file:com.github.fge.grappa.transform.CodeBlock.java

License:Apache License

public CodeBlock invokedynamic(String name, String descriptor, Handle bootstrapMethod,
        Object... bootstrapArguments) {
    instructionList.add(new InvokeDynamicInsnNode(name, descriptor, bootstrapMethod, bootstrapArguments));
    return this;
}

From source file:com.github.fge.grappa.transform.CodeBlock.java

License:Apache License

public CodeBlock visitInvokeDynamicInsn(String name, String desc, Handle bootstrapMethod,
        Object... bootstrapArguments) {
    instructionList.add(new InvokeDynamicInsnNode(name, desc, bootstrapMethod, bootstrapArguments));
    return this;
}

From source file:fr.insalyon.telecom.jooflux.InvokeMethodTransformer.java

License:Mozilla Public License

private InsnList generateInvokeDynamicConstructor(String name, String owner, String desc) {
    InsnList insnList = new InsnList();
    Handle methodHandle = new Handle(Opcodes.H_INVOKESTATIC, BOOTSTRAP_CLASS, "dynvokeConstructor",
            BOOTSTRAP_SIGNATURE);/*from www .j av  a2  s.c  o m*/
    String descReceiver = Type.getMethodDescriptor(Type.getObjectType(owner), Type.getArgumentTypes(desc));
    insnList.add(new InvokeDynamicInsnNode(owner + "." + name, descReceiver, methodHandle, ""));
    return insnList;
}

From source file:fr.insalyon.telecom.jooflux.InvokeMethodTransformer.java

License:Mozilla Public License

private InsnList generateInvokeDynamicStatic(String name, String owner, String desc) {
    InsnList insnList = new InsnList();
    Handle methodHandle = new Handle(Opcodes.H_INVOKESTATIC, BOOTSTRAP_CLASS, "dynvokeStatic",
            BOOTSTRAP_SIGNATURE);//from w  w  w  .j a  v a2s . c  om
    insnList.add(new InvokeDynamicInsnNode(owner + "." + name, desc, methodHandle, ""));
    return insnList;
}

From source file:fr.insalyon.telecom.jooflux.InvokeMethodTransformer.java

License:Mozilla Public License

private InsnList generateInvokeDynamicVirtualInterfaceSpecial(String name, String owner, String desc,
        String bootstrapMethod) {
    InsnList insnList = new InsnList();
    Handle methodHandle = new Handle(Opcodes.H_INVOKESTATIC, BOOTSTRAP_CLASS, bootstrapMethod,
            BOOTSTRAP_SIGNATURE);//w w w. j a  v a2s.c  om
    List<Type> argsList = new ArrayList<Type>(Arrays.asList(new Type[] { Type.getObjectType(owner) }));
    argsList.addAll(Arrays.asList(Type.getArgumentTypes(desc)));
    String descReceiver = Type.getMethodDescriptor(Type.getReturnType(desc),
            argsList.toArray(new Type[argsList.size()]));
    insnList.add(new InvokeDynamicInsnNode(owner + "." + name, descReceiver, methodHandle, ""));
    return insnList;
}

From source file:me.qmx.jitescript.CodeBlock.java

License:Apache License

public CodeBlock invokedynamic(String arg0, String arg1, Handle arg2, Object... arg3) {
    this.instructionList.add(new InvokeDynamicInsnNode(arg0, arg1, arg2, arg3));
    return this;
}

From source file:me.qmx.jitescript.CodeBlock.java

License:Apache License

public CodeBlock visitInvokeDynamicInsn(String arg0, String arg1, Handle arg2, Object... arg3) {
    this.instructionList.add(new InvokeDynamicInsnNode(arg0, arg1, arg2, arg3));
    return this;
}

From source file:org.apache.commons.javaflow.providers.asm4.ContinuableMethodNode.java

License:Apache License

public void visitInvokeDynamicInsn(String name, String desc, Handle bsm, Object... bsmArgs) {
    final InvokeDynamicInsnNode mnode = new InvokeDynamicInsnNode(name, desc, bsm, bsmArgs);
    if (needsFrameGuard(INVOKEDYNAMIC, bsm.getOwner(), name, desc)) {
        Label label = new Label();
        super.visitLabel(label);
        labels.add(label);/*  ww w.j av a  2s .  com*/
        nodes.add(mnode);
    }
    instructions.add(mnode);
}

From source file:org.jephyr.easyflow.instrument.AnalyzingMethodNode.java

License:Open Source License

@Override
public final void visitInvokeDynamicInsn(String name, String desc, Handle bsm, Object... bsmArgs) {
    InvokeDynamicInsnNode node = new InvokeDynamicInsnNode(name, desc, bsm, bsmArgs);
    instructions.add(node);//from  ww w . ja v  a2 s .com
    addFrame(node);
}