package bug_regression_jdk7.javassist.asm;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.commons.AdviceAdapter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Woonduk Kang(emeroad)
*/
public class AddIntVariableMethodAdapter extends AdviceAdapter {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
private String name;
public AddIntVariableMethodAdapter(MethodVisitor mv, int acc, String name, String desc) {
super(Opcodes.ASM5, mv, acc, name, desc);
this.name = name;
}
@Override
public void visitMaxs(int maxStack, int maxLocals) {
super.visitMaxs(maxStack + 1, maxLocals);
}
@Override
protected void onMethodEnter() {
logger.debug("onMethodEnter() add int local variable inst:ISTORE_7 {}", name);
mv.visitInsn(Opcodes.ICONST_0);
mv.visitVarInsn(Opcodes.ISTORE, 7);
}
}