Class CondyProbeArrayStrategy

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

public class CondyProbeArrayStrategy extends Object implements IProbeArrayStrategy
This strategy for Java 11+ class files uses ConstantDynamic to hold the probe array and adds bootstrap method requesting the probe array from the runtime.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Descriptor of the bootstrap method.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addMembers(org.objectweb.asm.ClassVisitor cv, int probeCount)
    Adds additional class members required by this strategy.
    int
    storeInstance(org.objectweb.asm.MethodVisitor mv, boolean clinit, int variable)
    Creates code that stores the probe array instance in the given variable.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field 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 cv, 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:
      cv - visitor to create fields and methods
      probeCount - total number of probes required for this class