org.jacoco.core.internal.instr

## Class ClassInstrumenter

- java.lang.Object
- - org.objectweb.asm.ClassVisitor
  - - org.jacoco.core.internal.flow.ClassProbesVisitor
    - - org.jacoco.core.internal.instr.ClassInstrumenter

    public class ClassInstrumenter
    extends ClassProbesVisitor

Adapter that instruments a class for coverage tracing.

### Field Summary

### Fields inherited from class org.objectweb.asm.ClassVisitor

`api, cv`

### Constructor Summary

Constructors
Constructor and Description
`ClassInstrumenter(IProbeArrayStrategy probeArrayStrategy, org.objectweb.asm.ClassVisitor cv)` Emits a instrumented version of this class to the given class visitor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `visit(int version, int access, String name, String signature, String superName, String[] interfaces)`
`org.objectweb.asm.FieldVisitor` `visitField(int access, String name, String desc, String signature, Object value)`
`MethodProbesVisitor` `visitMethod(int access, String name, String desc, String signature, String[] exceptions)` When visiting a method we need a `MethodProbesVisitor` to handle the probes of that method.
`void` `visitTotalProbeCount(int count)` Reports the total number of encountered probes.

### Methods inherited from class org.objectweb.asm.ClassVisitor

`visitAnnotation, visitAttribute, visitEnd, visitInnerClass, visitModule, visitOuterClass, visitSource, visitTypeAnnotation`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ClassInstrumenter

    public ClassInstrumenter(IProbeArrayStrategy probeArrayStrategy,
                             org.objectweb.asm.ClassVisitor cv)

Emits a instrumented version of this class to the given class visitor.

Parameters:
  `probeArrayStrategy` - this strategy will be used to access the probe array
  `cv` - next delegate in the visitor chain will receive the instrumented class

### Method Detail

#### visit

    public void visit(int version,
                      int access,
                      String name,
                      String signature,
                      String superName,
                      String[] interfaces)

Overrides:
  `visit` in class `org.objectweb.asm.ClassVisitor`

#### visitField

    public org.objectweb.asm.FieldVisitor visitField(int access,
                                                     String name,
                                                     String desc,
                                                     String signature,
                                                     Object value)

Overrides:
  `visitField` in class `org.objectweb.asm.ClassVisitor`

#### visitMethod

    public MethodProbesVisitor visitMethod(int access,
                                           String name,
                                           String desc,
                                           String signature,
                                           String[] exceptions)

Description copied from class: `ClassProbesVisitor`
When visiting a method we need a `MethodProbesVisitor` to handle the probes of that method.

Specified by:
  `visitMethod` in class `ClassProbesVisitor`

#### visitTotalProbeCount

    public void visitTotalProbeCount(int count)

Description copied from class: `ClassProbesVisitor`
Reports the total number of encountered probes. For classes this method is called just before `ClassVisitor.visitEnd()`. For interfaces this method is called before the first method (the static initializer) is emitted.

Specified by:
  `visitTotalProbeCount` in class `ClassProbesVisitor`
Parameters:
  `count` - total number of probes