@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 ByteCodeAppendermethodVisitor - 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–2023. All rights reserved.