net.sourceforge.cobertura.coverage
Class ClassInstrumenter

java.lang.Object
  extended byorg.objectweb.asm.ClassAdapter
      extended bynet.sourceforge.cobertura.coverage.ClassInstrumenter
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor, org.objectweb.asm.Opcodes

class ClassInstrumenter
extends org.objectweb.asm.ClassAdapter
implements org.objectweb.asm.Opcodes


Field Summary
private  CoverageData coverageData
           
private static java.lang.String hasBeenInstrumented
           
private  java.util.regex.Pattern ignoreRegexp
           
private  boolean instrument
           
private static org.apache.log4j.Logger logger
           
private  java.lang.String myName
           
 
Fields inherited from class org.objectweb.asm.ClassAdapter
cv
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, V1_1, V1_2, V1_3, V1_4, V1_5
 
Constructor Summary
ClassInstrumenter(org.objectweb.asm.ClassVisitor cv, java.util.regex.Pattern ignoreRegexp)
           
 
Method Summary
private  boolean arrayContains(java.lang.Object[] array, java.lang.Object key)
           
 java.lang.String getClassName()
           
 boolean isInstrumented()
           
 void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
           
 void visitEnd()
           
 org.objectweb.asm.MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
           
 void visitSource(java.lang.String source, java.lang.String debug)
           
 
Methods inherited from class org.objectweb.asm.ClassAdapter
visitAnnotation, visitAttribute, visitField, visitInnerClass, visitOuterClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final org.apache.log4j.Logger logger

hasBeenInstrumented

private static final java.lang.String hasBeenInstrumented
See Also:
Constant Field Values

ignoreRegexp

private java.util.regex.Pattern ignoreRegexp

coverageData

private CoverageData coverageData

myName

private java.lang.String myName

instrument

private boolean instrument
Constructor Detail

ClassInstrumenter

public ClassInstrumenter(org.objectweb.asm.ClassVisitor cv,
                         java.util.regex.Pattern ignoreRegexp)
Method Detail

getClassName

public java.lang.String getClassName()

isInstrumented

public boolean isInstrumented()

arrayContains

private boolean arrayContains(java.lang.Object[] array,
                              java.lang.Object key)

visit

public void visit(int version,
                  int access,
                  java.lang.String name,
                  java.lang.String signature,
                  java.lang.String superName,
                  java.lang.String[] interfaces)
Specified by:
visit in interface org.objectweb.asm.ClassVisitor
Parameters:
name - In the format "net/sourceforge/cobertura/coverage/ClassInstrumenter"

visitSource

public void visitSource(java.lang.String source,
                        java.lang.String debug)
Specified by:
visitSource in interface org.objectweb.asm.ClassVisitor

visitMethod

public org.objectweb.asm.MethodVisitor visitMethod(int access,
                                                   java.lang.String name,
                                                   java.lang.String desc,
                                                   java.lang.String signature,
                                                   java.lang.String[] exceptions)
Specified by:
visitMethod in interface org.objectweb.asm.ClassVisitor

visitEnd

public void visitEnd()
Specified by:
visitEnd in interface org.objectweb.asm.ClassVisitor