1 26 27 package net.sourceforge.groboutils.codecoverage.v2.compiler; 28 29 import net.sourceforge.groboutils.codecoverage.v2.logger.ICoverageLoggerConst; 30 31 import org.apache.bcel.generic.INVOKESTATIC; 32 import org.apache.bcel.generic.InstructionList; 33 import org.apache.bcel.generic.LDC; 34 import org.apache.bcel.generic.SIPUSH; 35 36 45 class MeasureMark 46 { 47 private static final Class COVERAGE_SIGNATURE[] = 48 ICoverageLoggerConst.COVERAGE_SIGNATURE; 49 50 51 54 private final int classSigPoolIndex; 55 56 59 private final int staticMethodPoolIndex; 60 61 64 private final short methodIndex; 65 66 67 private final short measureIndex; 68 private final short markIndex; 69 70 86 87 91 MeasureMark( int classSigPoolIndex, int staticMethodPoolIndex, 92 short methodIndex, short measureIndex, short markIndex ) 93 { 94 this.classSigPoolIndex = classSigPoolIndex; 95 this.staticMethodPoolIndex = staticMethodPoolIndex; 96 this.methodIndex = methodIndex; 97 this.measureIndex = measureIndex; 98 this.markIndex = markIndex; 99 } 100 101 102 public void addToInstructionList( InstructionList list ) 103 { 104 list.append( new LDC( this.classSigPoolIndex ) ); 105 list.append( new SIPUSH( this.methodIndex ) ); 106 list.append( new SIPUSH( this.measureIndex ) ); 107 list.append( new SIPUSH( this.markIndex ) ); 108 list.append( new INVOKESTATIC( this.staticMethodPoolIndex ) ); 109 } 110 } 111 112 | Popular Tags |