@HashCodeAndEqualsPlugin.Enhance public static class EqualsMethod.NullValueGuard.UsingJump extends java.lang.Object implements EqualsMethod.NullValueGuard
null
but returns if
the invoked instance's field value is null
but not the compared instance's value.Modifier and Type | Class and Description |
---|---|
protected class |
EqualsMethod.NullValueGuard.UsingJump.AfterInstruction
The stack manipulation to apply after the equality computation.
|
protected class |
EqualsMethod.NullValueGuard.UsingJump.BeforeInstruction
The stack manipulation to apply before the equality computation.
|
EqualsMethod.NullValueGuard.NoOp, EqualsMethod.NullValueGuard.UsingJump
Modifier and Type | Field and Description |
---|---|
private static java.lang.Object[] |
EMPTY
An empty array.
|
private org.objectweb.asm.Label |
endOfBlock
A label indicating the end of the null-guarding block.
|
private org.objectweb.asm.Label |
firstValueNull
The label to jump to if the first value is
null whereas the second value is not null . |
private MethodDescription |
instrumentedMethod
The instrumented method.
|
private static java.lang.Object[] |
REFERENCE
An array containing a single reference value.
|
private org.objectweb.asm.Label |
secondValueNull
The label to jump to if the second value is
null . |
Modifier | Constructor and Description |
---|---|
protected |
UsingJump(MethodDescription instrumentedMethod)
Creates a new null value guard using a jump instruction for
null values. |
Modifier and Type | Method and Description |
---|---|
StackManipulation |
after()
Returns a stack manipulation to apply after computing equality.
|
StackManipulation |
before()
Returns a stack manipulation to apply before computing equality.
|
int |
getRequiredVariablePadding()
Returns the required padding for the local variable array to apply this guard.
|
private static final java.lang.Object[] EMPTY
private static final java.lang.Object[] REFERENCE
private final MethodDescription instrumentedMethod
private final org.objectweb.asm.Label firstValueNull
null
whereas the second value is not null
.private final org.objectweb.asm.Label secondValueNull
null
.private final org.objectweb.asm.Label endOfBlock
protected UsingJump(MethodDescription instrumentedMethod)
null
values.instrumentedMethod
- The instrumented method.public StackManipulation before()
before
in interface EqualsMethod.NullValueGuard
public StackManipulation after()
after
in interface EqualsMethod.NullValueGuard
public int getRequiredVariablePadding()
getRequiredVariablePadding
in interface EqualsMethod.NullValueGuard