1 package org.hansel.probes; 2 3 import org.hansel.ProbeData; 4 5 import org.hansel.stack.HanselValue; 6 import org.objectweb.asm.MethodVisitor; 7 import org.objectweb.asm.Opcodes; 8 9 15 public abstract class CompBranchProbe extends BranchProbe { 16 17 public CompBranchProbe(ProbeData pd, 18 HanselValue value) { 19 super(pd, value); 20 } 21 22 protected abstract boolean isTrue(int n, int m); 23 24 public void hit(int n, int m) { 25 cover(isTrue(n, m)); 26 } 27 28 public void insertProbeCode(MethodVisitor cv) { 29 cv.visitInsn(Opcodes.DUP2); 30 cv.visitLdcInsn(new Integer (getID())); 31 cv.visitMethodInsn(Opcodes.INVOKESTATIC, HIT_CLASS, "hitBranch", 32 "(III)V"); 33 } 34 } 35 | Popular Tags |