@Override public AbstractInsnNode clone(final Map<LabelNode, LabelNode> labels) { LookupSwitchInsnNode clone = new LookupSwitchInsnNode(clone(dflt, labels), null, clone(this.labels, labels)); clone.keys.addAll(keys); return clone.cloneAnnotations(this); } }
@Override public void visitLookupSwitchInsn(final Label dflt, final int[] keys, final Label[] labels) { instructions.add(new LookupSwitchInsnNode(getLabelNode(dflt), keys, getLabelNodes(labels))); }
@Override public void accept(final MethodVisitor mv) { int[] keys = new int[this.keys.size()]; for (int i = 0; i < keys.length; ++i) { keys[i] = this.keys.get(i).intValue(); } Label[] labels = new Label[this.labels.size()]; for (int i = 0; i < labels.length; ++i) { labels[i] = this.labels.get(i).getLabel(); } mv.visitLookupSwitchInsn(dflt.getLabel(), keys, labels); acceptAnnotations(mv); }
labels[i] = cloneInsnNode((LabelNode)old.labels.get(i)); return (N)new LookupSwitchInsnNode( cloneInsnNode(old.dflt), keys,