Class EqualsMethod.Appender
java.lang.Object
net.bytebuddy.implementation.EqualsMethod.Appender
- All Implemented Interfaces:
ByteCodeAppender
- Enclosing class:
EqualsMethod
A byte code appender to implement the
EqualsMethod.-
Nested Class Summary
Nested classes/interfaces inherited from interface ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StackManipulationThe baseline stack manipulation.private final List<FieldDescription.InDefinedShape> A list of fields to use for the comparison.private final ElementMatcher<? super FieldDescription.InDefinedShape> A matcher to determine fields of a reference type that cannot benull.private final TypeDescriptionThe instrumented type.private final ElementMatcher<? super FieldDescription.InDefinedShape> A matcher to determine fields of a reference type that cannot benull. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAppender(TypeDescription instrumentedType, StackManipulation baseline, List<FieldDescription.InDefinedShape> fieldDescriptions, ElementMatcher<? super FieldDescription.InDefinedShape> nonNullable, ElementMatcher<? super FieldDescription.InDefinedShape> identity) Creates a new appender. -
Method Summary
Modifier and TypeMethodDescriptionapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod) Applies this byte code appender to a type creation process.
-
Field Details
-
instrumentedType
The instrumented type. -
baseline
The baseline stack manipulation. -
fieldDescriptions
A list of fields to use for the comparison. -
nonNullable
A matcher to determine fields of a reference type that cannot benull. -
identity
A matcher to determine fields of a reference type that cannot benull.
-
-
Constructor Details
-
Appender
protected Appender(TypeDescription instrumentedType, StackManipulation baseline, List<FieldDescription.InDefinedShape> fieldDescriptions, ElementMatcher<? super FieldDescription.InDefinedShape> nonNullable, ElementMatcher<? super FieldDescription.InDefinedShape> identity) Creates a new appender.- Parameters:
instrumentedType- The instrumented type.baseline- The baseline stack manipulation.fieldDescriptions- A list of fields to use for the comparison.nonNullable- A matcher to determine fields of a reference type that cannot benull.identity- A matcher to determine that a field should be considered by its identity.
-
-
Method Details
-
apply
public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod) Applies this byte code appender to a type creation process.- Specified by:
applyin interfaceByteCodeAppender- Parameters:
methodVisitor- The method visitor to which the byte code appender writes its code to.implementationContext- The implementation context of the current type creation process.instrumentedMethod- The method that is the target of the instrumentation.- Returns:
- The required size for the applied byte code to run.
-