### Question:
InvokeDynamicInsnNode extends AbstractInsnNode { @Override public int getType() { return INVOKE_DYNAMIC_INSN; } InvokeDynamicInsnNode(
      final String name,
      final String descriptor,
      final Handle bootstrapMethodHandle,
      final Object... bootstrapMethodArguments); @Override int getType(); @Override void accept(final MethodVisitor methodVisitor); @Override AbstractInsnNode clone(final Map<LabelNode, LabelNode> clonedLabels); public String name; public String desc; public Handle bsm; public Object[] bsmArgs; }### Answer:
@Test public void testConstructor() { Handle handle = new Handle(Opcodes.H_INVOKESTATIC, "owner", "name", "()V", false); Object[] bootstrapMethodArguments = new Object[] {"s"}; InvokeDynamicInsnNode invokeDynamicInsnNode = new InvokeDynamicInsnNode("name", "()V", handle, bootstrapMethodArguments); assertEquals(Opcodes.INVOKEDYNAMIC, invokeDynamicInsnNode.getOpcode()); assertEquals(AbstractInsnNode.INVOKE_DYNAMIC_INSN, invokeDynamicInsnNode.getType()); assertEquals("name", invokeDynamicInsnNode.name); assertEquals("()V", invokeDynamicInsnNode.desc); assertEquals(handle, invokeDynamicInsnNode.bsm); assertEquals(bootstrapMethodArguments, invokeDynamicInsnNode.bsmArgs); }