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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.attribute.TypeAttributeAppender
TypeAttributeAppender.Compound, TypeAttributeAppender.Explicit, TypeAttributeAppender.ForInstrumentedType, TypeAttributeAppender.NoOp
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
The index of the first annotations that should be directly written onto the type.private final int
The index of the first interface type for which type annotations should be directly written onto the type.private final int
The index of the first type variable for which type annotations should be directly written onto the type. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Differentiating
(int annotationIndex, int typeVariableIndex, int interfaceTypeIndex) Creates a new differentiating type attribute appender.Differentiating
(TypeDescription typeDescription) Creates a new differentiating type attribute appender. -
Method Summary
Modifier and TypeMethodDescriptionvoid
apply
(org.objectweb.asm.ClassVisitor classVisitor, TypeDescription instrumentedType, AnnotationValueFilter annotationValueFilter) Applies this type attribute appender.
-
Field Details
-
annotationIndex
private final int annotationIndexThe index of the first annotations that should be directly written onto the type. -
typeVariableIndex
private final int typeVariableIndexThe index of the first type variable for which type annotations should be directly written onto the type. -
interfaceTypeIndex
private final int interfaceTypeIndexThe index of the first interface type for which type annotations should be directly written onto the type.
-
-
Constructor Details
-
Differentiating
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 interfaceTypeAttributeAppender
- 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.
-