@HashCodeAndEqualsPlugin.Enhance protected static class HashCodeMethod.Appender extends Object implements ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
Modifier | Constructor and Description |
---|---|
protected |
Appender(StackManipulation initialValue,
int multiplier,
List<FieldDescription.InDefinedShape> fieldDescriptions,
ElementMatcher<? super FieldDescription.InDefinedShape> nonNullable)
Creates a new appender for implementing a hash code method.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
protected Appender(StackManipulation initialValue, int multiplier, List<FieldDescription.InDefinedShape> fieldDescriptions, ElementMatcher<? super FieldDescription.InDefinedShape> nonNullable)
initialValue
- Loads the initial hash code onto the operand stack.multiplier
- A multiplier for each value before adding a field's hash code value.fieldDescriptions
- A list of fields to include in the hash code computation.nonNullable
- A matcher to determine fields of a reference type that cannot be null
.public ByteCodeAppender.Size apply(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.Copyright © 2014–2020. All rights reserved.