void addPutStatic(String className, String fieldName, String type) { mw.add(Opcode.PUTSTATIC); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addPutStatic() growStack(-Descriptor.dataSize(type)); }
void addCheckcast(String clazz) { mw.add(Opcode.CHECKCAST); int i = poolWriter.addClassInfo(clazz); addIndex(i); //From Opcode.STACK_GROW[] (see test in main()) //No change to stack }
void addPutField(String className, String fieldName, String type) { mw.add(Opcode.PUTFIELD); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addPutfield() growStack(1 - Descriptor.dataSize(type)); }
void addGetStatic(String className, String fieldName, String type) { mw.add(Opcode.GETSTATIC); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addGetstatic() growStack(Descriptor.dataSize(type)); }
void addNew(String className) { mw.add(Opcode.NEW); addIndex(addClassInfo(className)); //From Opcode.STACK_GROW[] (see test in main()) growStack(1); }
void addAALoad() { mw.add(Opcode.AALOAD); //From Opcode.STACK_GROW[] (see test in main()) growStack(-1); }
void addAConstNull() { mw.add(Opcode.ACONST_NULL); //From Opcode.STACK_GROW[] (see test in main()) growStack(1); }
void addGetStatic(String className, String fieldName, String type) { mw.add(Opcode.GETSTATIC); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addGetstatic() growStack(Descriptor.dataSize(type)); }
void addGetField(String className, String fieldName, String type) { mw.add(Opcode.GETFIELD); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addGetfield() growStack(Descriptor.dataSize(type) - 1); }
void addPutField(String className, String fieldName, String type) { mw.add(Opcode.PUTFIELD); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addPutfield() growStack(1 - Descriptor.dataSize(type)); }
void addDup() { mw.add(Opcode.DUP); //From Opcode.STACK_GROW[] (see test in main()) growStack(1); }
void addPutStatic(String className, String fieldName, String type) { mw.add(Opcode.PUTSTATIC); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addPutStatic() growStack(-Descriptor.dataSize(type)); }
void addGetField(String className, String fieldName, String type) { mw.add(Opcode.GETFIELD); addFieldRefInfo(className, fieldName, type); //Stolen from Bytecode.addGetfield() growStack(Descriptor.dataSize(type) - 1); }
void addAConstNull() { mw.add(Opcode.ACONST_NULL); //From Opcode.STACK_GROW[] (see test in main()) growStack(1); }
/** * Appends a invokevirtual, inovkespecial, or invokestatic bytecode. * * @see Opcode */ public void addInvoke(int opcode, String targetClass, String methodName, String descriptor) { int target = constPool.addClassInfo(targetClass); int nt = constPool.addNameAndTypeInfo(methodName, descriptor); int method = constPool.addMethodrefInfo(target, nt); add(opcode); add16(method); }
/** * Appends a invokevirtual, inovkespecial, or invokestatic bytecode. * * @see Opcode */ public void addInvoke(int opcode, String targetClass, String methodName, String descriptor) { int target = constPool.addClassInfo(targetClass); int nt = constPool.addNameAndTypeInfo(methodName, descriptor); int method = constPool.addMethodrefInfo(target, nt); add(opcode); add16(method); }