@HashCodeAndEqualsPlugin.Enhance protected static class EqualsMethod.Appender extends java.lang.Object implements ByteCodeAppender
EqualsMethod
.ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
Modifier and Type | Field and Description |
---|---|
private StackManipulation |
baseline
The baseline stack manipulation.
|
private java.util.List<FieldDescription.InDefinedShape> |
fieldDescriptions
A list of fields to use for the comparison.
|
private TypeDescription |
instrumentedType
The instrumented type.
|
private ElementMatcher<? super FieldDescription.InDefinedShape> |
nonNullable
A matcher to determine fields of a reference type that cannot be
null . |
Modifier | Constructor and Description |
---|---|
protected |
Appender(TypeDescription instrumentedType,
StackManipulation baseline,
java.util.List<FieldDescription.InDefinedShape> fieldDescriptions,
ElementMatcher<? super FieldDescription.InDefinedShape> nonNullable)
Creates a new appender.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
private final TypeDescription instrumentedType
private final StackManipulation baseline
private final java.util.List<FieldDescription.InDefinedShape> fieldDescriptions
private final ElementMatcher<? super FieldDescription.InDefinedShape> nonNullable
null
.protected Appender(TypeDescription instrumentedType, StackManipulation baseline, java.util.List<FieldDescription.InDefinedShape> fieldDescriptions, ElementMatcher<? super FieldDescription.InDefinedShape> nonNullable)
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 be null
.public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
apply
in interface ByteCodeAppender
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.