Class EqualsMethod.NullValueGuard.UsingJump
java.lang.Object
net.bytebuddy.implementation.EqualsMethod.NullValueGuard.UsingJump
- All Implemented Interfaces:
EqualsMethod.NullValueGuard
- Enclosing interface:
EqualsMethod.NullValueGuard
@Enhance
public static class EqualsMethod.NullValueGuard.UsingJump
extends Object
implements EqualsMethod.NullValueGuard
A null value guard that expects a reference type and that skips the comparison if both values are
null but returns if
the invoked instance's field value is null but not the compared instance's value.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classThe stack manipulation to apply after the equality computation.protected classThe stack manipulation to apply before the equality computation.Nested classes/interfaces inherited from interface EqualsMethod.NullValueGuard
EqualsMethod.NullValueGuard.NoOp, EqualsMethod.NullValueGuard.UsingJump -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.objectweb.asm.LabelA label indicating the end of the null-guarding block.private final org.objectweb.asm.LabelThe label to jump to if the first value isnullwhereas the second value is notnull.private final MethodDescriptionThe instrumented method.private final org.objectweb.asm.LabelThe label to jump to if the second value isnull. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedUsingJump(MethodDescription instrumentedMethod) Creates a new null value guard using a jump instruction fornullvalues. -
Method Summary
-
Field Details
-
instrumentedMethod
The instrumented method. -
firstValueNull
private final org.objectweb.asm.Label firstValueNullThe label to jump to if the first value isnullwhereas the second value is notnull. -
secondValueNull
private final org.objectweb.asm.Label secondValueNullThe label to jump to if the second value isnull. -
endOfBlock
private final org.objectweb.asm.Label endOfBlockA label indicating the end of the null-guarding block.
-
-
Constructor Details
-
UsingJump
Creates a new null value guard using a jump instruction fornullvalues.- Parameters:
instrumentedMethod- The instrumented method.
-
-
Method Details
-
before
Returns a stack manipulation to apply before computing equality.- Specified by:
beforein interfaceEqualsMethod.NullValueGuard- Returns:
- A stack manipulation to apply before computing equality.
-
after
Returns a stack manipulation to apply after computing equality.- Specified by:
afterin interfaceEqualsMethod.NullValueGuard- Returns:
- A stack manipulation to apply after computing equality.
-
getRequiredVariablePadding
public int getRequiredVariablePadding()Returns the required padding for the local variable array to apply this guard.- Specified by:
getRequiredVariablePaddingin interfaceEqualsMethod.NullValueGuard- Returns:
- The required padding for the local variable array to apply this guard.
-