Class TypeAttributeAppender.ForInstrumentedType.Differentiating

java.lang.Object
net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating
All Implemented Interfaces:
TypeAttributeAppender
Enclosing class:
TypeAttributeAppender.ForInstrumentedType

@Enhance public static class TypeAttributeAppender.ForInstrumentedType.Differentiating extends Object implements TypeAttributeAppender
A type attribute appender that writes all annotations of the instrumented but excludes annotations up to a given index.
  • Field Details

    • annotationIndex

      private final int annotationIndex
      The index of the first annotations that should be directly written onto the type.
    • typeVariableIndex

      private final int typeVariableIndex
      The index of the first type variable for which type annotations should be directly written onto the type.
    • interfaceTypeIndex

      private final int interfaceTypeIndex
      The index of the first interface type for which type annotations should be directly written onto the type.
  • Constructor Details

    • Differentiating

      public Differentiating(TypeDescription typeDescription)
      Creates a new differentiating type attribute appender.
      Parameters:
      typeDescription - The type for which to resolve all exclusion indices.
    • Differentiating

      protected Differentiating(int annotationIndex, int typeVariableIndex, int interfaceTypeIndex)
      Creates a new differentiating type attribute appender.
      Parameters:
      annotationIndex - The index of the first annotations that should be directly written onto the type.
      typeVariableIndex - The index of the first interface type for which type annotations should be directly written onto the type.
      interfaceTypeIndex - The index of the first interface type for which type annotations should be directly written onto the type.
  • Method Details

    • apply

      public void apply(org.objectweb.asm.ClassVisitor classVisitor, TypeDescription instrumentedType, AnnotationValueFilter annotationValueFilter)
      Applies this type attribute appender.
      Specified by:
      apply in interface TypeAttributeAppender
      Parameters:
      classVisitor - The class visitor to which the annotations of this visitor should be written to.
      instrumentedType - A description of the instrumented type that is target of the ongoing instrumentation.
      annotationValueFilter - The annotation value filter to apply when writing annotations.