@Override public void visitVarInsn(final int opcode, final int var) { instructions.add(new VarInsnNode(opcode, var)); }
@Override public void accept(final MethodVisitor mv) { mv.visitVarInsn(opcode, var); acceptAnnotations(mv); }
@Override public AbstractInsnNode clone(final Map<LabelNode, LabelNode> labels) { return new VarInsnNode(opcode, var).cloneAnnotations(this); } }
return (N)new VarInsnNode(old.getOpcode(), old.var);
instructions.remove(methodInsnNode); InsnList tmpInstructions = new InsnList(); tmpInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); tmpInstructions.add( new FieldInsnNode(
newMethodNode.exceptions = methodNode.exceptions; InsnList instractions = new InsnList(); instractions.add(new VarInsnNode(Opcodes.ALOAD, 0)); int slotIndex = 1; for (Class<?> parameterType : methodEntry.constructor.getParameterTypes()) { instractions.add(new VarInsnNode(ASM.getLoadCode(parameterType), slotIndex)); slotIndex += ASM.getSlotCount(parameterType);
instructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); instructions.add( new MethodInsnNode( instructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); instructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); instructions.add(new LdcInsnNode(true)); instructions.add( ASM.getDescriptor(HqlParser.class), false)); instructions.add(new VarInsnNode(Opcodes.ALOAD, 1)); instructions.add( new MethodInsnNode( ASM.getDescriptor(HqlSqlWalker.class), false)); instructions.add(new VarInsnNode(Opcodes.ASTORE, walkerIndex)); instructions.add(new VarInsnNode(Opcodes.ALOAD, walkerIndex)); instructions.add( new MethodInsnNode( "()" + ASM.getDescriptor(AST.class), false)); instructions.add(new VarInsnNode(Opcodes.ASTORE, sqlAstIndex)); instructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); instructions.add(new VarInsnNode(Opcodes.ALOAD, sqlAstIndex)); instructions.add( new MethodInsnNode(
InsnList tmpInstructions = new InsnList(); tmpInstructions.add(new InsnNode(Opcodes.DUP)); tmpInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); tmpInstructions.add(new InsnNode(Opcodes.SWAP)); tmpInstructions.add( beforeInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); beforeInstructions.add(new InsnNode(Opcodes.SWAP)); beforeInstructions.add( afterInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); afterInstructions.add(new FieldInsnNode( Opcodes.GETFIELD, afterInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); afterInstructions.add(new VarInsnNode(Opcodes.ALOAD, 3)); afterInstructions.add( new MethodInsnNode( afterInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); afterInstructions.add(new VarInsnNode(Opcodes.ALOAD, 3)); afterInstructions.add( new MethodInsnNode( afterInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); afterInstructions.add( new MethodInsnNode( false));
instructions.add(new InsnNode(Opcodes.ACONST_NULL)); } else { instructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); instructions.add(ASM.getBoxInsnList(thatDesc, new VarInsnNode(thatTypeCategory.getLoadCode(), isStatic ? 0 : 1))); instructions.add( new MethodInsnNode(
InsnList tmpInstructions = new InsnList(); tmpInstructions.add(new InsnNode(Opcodes.DUP)); tmpInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); tmpInstructions.add(new InsnNode(Opcodes.SWAP)); tmpInstructions.add(
instructions.add(new InsnNode(Opcodes.ACONST_NULL)); } else { instructions.add(new VarInsnNode(Opcodes.ALOAD, 0));
if (!methodEntry.ownerVisible || !methodEntry.areAllParametersVisible()) { tmpInstructions.add(catchClassNotFoundLabelNode); tmpInstructions.add(new VarInsnNode(Opcodes.ASTORE, 0)); //pop exception tmpInstructions.add(new TypeInsnNode(Opcodes.NEW, Type.getInternalName(AssertionError.class))); tmpInstructions.add(new InsnNode(Opcodes.DUP)); tmpInstructions.add(new LdcInsnNode("Internal bug: 4")); tmpInstructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); //pop exception tmpInstructions.add( new MethodInsnNode(
instructions.add(new InsnNode(Opcodes.ACONST_NULL)); } else { instructions.add(new VarInsnNode(Opcodes.ALOAD, 0)); Type parameterType = parameterTypes[i]; TypeCategory typeCategory = TypeCategory.of(parameterType); instructions.add(ASM.getBoxInsnList(parameterType, new VarInsnNode(typeCategory.getLoadCode(), slot))); instructions.add(new InsnNode(Opcodes.AASTORE)); slot += typeCategory.getSlotCount();