public void visitInsn(int opcode) { if (opcode == I2L) { if (load) { super.visitInsn(I2L); } else { load = true; } } else { if (opcode == L2I) { if (load) { load = false; } else { super.visitInsn(L2I); } } else { dropLoad(); super.visitInsn(opcode); } } }
public void visitIincInsn(int var, int increment) { dropLoad(); super.visitIincInsn(var, increment); }
public void visitLdcInsn(Object cst) { dropLoad(); super.visitLdcInsn(cst); }
public void visitLabel(Label label) { dropLoad(); super.visitLabel(label); }
public void visitJumpInsn(int opcode, Label label) { dropLoad(); super.visitJumpInsn(opcode, label); }
public void visitMethodInsn(int opcode, String owner, String name, String desc) { dropLoad(); super.visitMethodInsn(opcode, owner, name, desc); }
public void visitTypeInsn(int opcode, String desc) { dropLoad(); super.visitTypeInsn(opcode, desc); }
public void visitVarInsn(int opcode, int var) { dropLoad(); super.visitVarInsn(opcode, var); }
public void visitIntInsn(int opcode, int operand) { dropLoad(); super.visitIntInsn(opcode, operand); }
private void dropLoad() { if (load) { super.visitInsn(I2L); load = false; } }
public void visitTryCatchBlock(Label start, Label end, Label handler, String type) { dropLoad(); super.visitTryCatchBlock(start, end, handler, type); }
public void visitMultiANewArrayInsn(String desc, int dims) { dropLoad(); super.visitMultiANewArrayInsn(desc, dims); }
public void visitLookupSwitchInsn(Label dflt, int keys[], Label labels[]) { dropLoad(); super.visitLookupSwitchInsn(dflt, keys, labels); }
public void visitTableSwitchInsn(int min, int max, Label dflt, Label labels[]) { dropLoad(); super.visitTableSwitchInsn(min, max, dflt, labels); }