public void writePushConstDouble(double value) { code.add(new LdcInsnNode(value)); stackPush(null, StackItem.Type.DOUBLE); }
public void writePushConstFloat(float value) { code.add(new LdcInsnNode(value)); stackPush(null, StackItem.Type.FLOAT); }
public void writePushConstLong(long value) { code.add(new LdcInsnNode(value)); stackPush(null, StackItem.Type.LONG); }
LdcInsnNode nLdc = new LdcInsnNode(newValue);
instructions.add(new LdcInsnNode(argumentTypes.length)); instructions.add(new TypeInsnNode(Opcodes.ANEWARRAY, "java/lang/Object")); instructions.add(new InsnNode(Opcodes.DUP_X1)); // A B [] C [] instructions.add(new InsnNode(Opcodes.SWAP)); // A B [] [] C instructions.add(new LdcInsnNode(i)); // A B [] [] C 2 instructions.add(new InsnNode(Opcodes.SWAP)); // A B [] [] 2 C instructions.add(new InsnNode(Opcodes.POP)); // A B [] [] _C_ instructions.add(new LdcInsnNode(i)); // A B [] [] (C) 2 instructions.add(new InsnNode(Opcodes.SWAP)); // A B [] [] 2 (C) instructions.add(new InsnNode(Opcodes.AASTORE)); // A B [(C)] instructions.add(new LdcInsnNode(targetMethod.owner + "/" + targetMethod.name + targetMethod.desc)); // target method signature instructions.add(new LdcInsnNode(mutableClass.classType)); // signature instance [] class instructions.add(new MethodInsnNode(Opcodes.INVOKESTATIC, Type.getType(RobolectricInternals.class).getInternalName(), "intercept",
switch (memory.type) { case INT: { code.add(new LdcInsnNode(memory.toLong())); type = Memory.Type.INT; code.add(new LdcInsnNode(memory.toDouble())); type = Memory.Type.DOUBLE; code.add(new LdcInsnNode(memory.toString())); type = Memory.Type.STRING;
public void writePushSmallInt(int value) { switch (value) { case -1: code.add(new InsnNode(ICONST_M1)); break; case 0: code.add(new InsnNode(ICONST_0)); break; case 1: code.add(new InsnNode(ICONST_1)); break; case 2: code.add(new InsnNode(ICONST_2)); break; case 3: code.add(new InsnNode(ICONST_3)); break; case 4: code.add(new InsnNode(ICONST_4)); break; case 5: code.add(new InsnNode(ICONST_5)); break; default: code.add(new LdcInsnNode(value)); } stackPush(Memory.Type.INT); }
@Override public void visitLdcInsn(Object cst) { node = new LdcInsnNode(cst); super.visitLdcInsn(cst); }
@Override public void visitLdcInsn(Object cst) { node = new LdcInsnNode(cst); super.visitLdcInsn(cst); }
@Override public void pushAsString(InsnList result) { result.add(new LdcInsnNode(this.value)); } }
@Override public AbstractInsnNode clone(final Map<LabelNode, LabelNode> labels) { return new LdcInsnNode(cst).cloneAnnotations(this); } }
@Override public void visitLdcInsn(Object arg0) { super.visitLdcInsn(arg0); appendToBacklog(new LdcInsnNode(arg0)); }
@Override public AbstractInsnNode clone(final Map<LabelNode, LabelNode> clonedLabels) { return new LdcInsnNode(cst).cloneAnnotations(this); } }
public static AbstractInsnNode getNumberInsn(double number) { if (number >= 0 && number <= 1) { return new InsnNode((int) (number + 14)); } else { return new LdcInsnNode(number); } }
/** * <p> * getDefaultInfectionDistance * </p> * * @return a {@link org.objectweb.asm.tree.InsnList} object. */ public static InsnList getDefaultInfectionDistance() { InsnList defaultDistance = new InsnList(); defaultDistance.add(new LdcInsnNode(0.0)); return defaultDistance; }
/** @return Code that puts the given constant value on the operand stack */ public static AbstractInsnNode push(@Nullable Object constantValue) { return ( constantValue == null ? new InsnNode(Opcodes.ACONST_NULL) : new LdcInsnNode(constantValue) ); } }
public static AbstractInsnNode loadLong(long l) { if (l == 0L) return new InsnNode(LCONST_0); else if (l == 1L) return new InsnNode(LCONST_1); else return new LdcInsnNode(l); }
public static AbstractInsnNode getPushInst(int value) { if (value >= -1 && value <= 5) return new InsnNode(ICONST_M1 + value + 1); if ((value >= -128) && (value <= 127)) return new IntInsnNode(BIPUSH, value); if ((value >= -32768) && (value <= 32767)) return new IntInsnNode(SIPUSH, value); return new LdcInsnNode(value); }
static AbstractInsnNode getIntNode(final int value) { if ( value <= 5 && -1 <= value ) return new InsnNode(ICONST_M1 + value + 1); if ( value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE ) return new IntInsnNode(BIPUSH, value); if ( value >= Short.MIN_VALUE && value <= Short.MAX_VALUE ) return new IntInsnNode(SIPUSH, value); return new LdcInsnNode(value); }
public static AbstractInsnNode getNumberInsn(int number) { if (number >= -1 && number <= 5) { return new InsnNode(number + 3); } else if (number >= -128 && number <= 127) { return new IntInsnNode(Opcodes.BIPUSH, number); } else if (number >= -32768 && number <= 32767) { return new IntInsnNode(Opcodes.SIPUSH, number); } else { return new LdcInsnNode(number); } }