Class LocalProbeArrayStrategy

java.lang.Object
org.jacoco.core.internal.instr.LocalProbeArrayStrategy
All Implemented Interfaces:
IProbeArrayStrategy

class LocalProbeArrayStrategy extends Object implements IProbeArrayStrategy
The strategy for interfaces inlines the runtime access directly into the methods as this is the only method without keeping reference within this class. This is very inefficient as the runtime is contacted for every method invocation and therefore only used for static initializers in interfaces.
  • Field Details

    • className

      private final String className
    • classId

      private final long classId
    • probeCount

      private final int probeCount
    • accessorGenerator

      private final IExecutionDataAccessorGenerator accessorGenerator
  • Constructor Details

  • Method Details

    • storeInstance

      public int storeInstance(org.objectweb.asm.MethodVisitor mv, boolean clinit, int variable)
      Description copied from interface: IProbeArrayStrategy
      Creates code that stores the probe array instance in the given variable.
      Specified by:
      storeInstance in interface IProbeArrayStrategy
      Parameters:
      mv - visitor to create code
      clinit - true in case of <clinit> method
      variable - variable index to store probe array to
      Returns:
      maximum stack size required by the generated code
    • addMembers

      public void addMembers(org.objectweb.asm.ClassVisitor delegate, int probeCount)
      Description copied from interface: IProbeArrayStrategy
      Adds additional class members required by this strategy. This method is called after all original members of the class has been processed.
      Specified by:
      addMembers in interface IProbeArrayStrategy
      Parameters:
      delegate - visitor to create fields and methods
      probeCount - total number of probes required for this class