Class Advice.MethodSizeHandler.Default.ForAdvice
java.lang.Object
net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice
- All Implemented Interfaces:
Advice.MethodSizeHandler, Advice.MethodSizeHandler.ForAdvice
- Enclosing class:
Advice.MethodSizeHandler.Default
protected class Advice.MethodSizeHandler.Default.ForAdvice
extends Object
implements Advice.MethodSizeHandler.ForAdvice
A method size handler for an advice method.
-
Nested Class Summary
Nested classes/interfaces inherited from interface Advice.MethodSizeHandler
Advice.MethodSizeHandler.Default, Advice.MethodSizeHandler.ForAdvice, Advice.MethodSizeHandler.ForInstrumentedMethod, Advice.MethodSizeHandler.NoOp -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intThe base of the local variable length that is implied by the method instrumentation prior to applying this advice method.private intThe additional padding to apply to the local variable array.private intThe additional padding to apply to the operand stack.private final MethodDescription.TypeTokenThe advice method.Fields inherited from interface Advice.MethodSizeHandler
UNDEFINED_SIZE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedForAdvice(MethodDescription.TypeToken typeToken, int baseLocalVariableLength) Creates a default method size handler for an advice method. -
Method Summary
Modifier and TypeMethodDescriptionvoidrecordMaxima(int stackSize, int localVariableLength) Records the maximum values for stack size and local variable array which are required by the advice method for its individual execution without translation.voidrequireLocalVariableLength(int localVariableLength) Requires a minimum length of the local variable array.voidrequireLocalVariableLengthPadding(int localVariableLengthPadding) Requires additional padding for the local variable array that is required for this advice's execution.voidrequireStackSize(int stackSize) Records a minimum stack size required by the represented advice method.voidrequireStackSizePadding(int stackSizePadding) Requires additional padding for the operand stack that is required for this advice's execution.
-
Field Details
-
typeToken
The advice method. -
baseLocalVariableLength
private final int baseLocalVariableLengthThe base of the local variable length that is implied by the method instrumentation prior to applying this advice method. -
stackSizePadding
private int stackSizePaddingThe additional padding to apply to the operand stack. -
localVariableLengthPadding
private int localVariableLengthPaddingThe additional padding to apply to the local variable array.
-
-
Constructor Details
-
ForAdvice
Creates a default method size handler for an advice method.- Parameters:
typeToken- The type token representing the advice.baseLocalVariableLength- The base of the local variable length that is implied by the method instrumentation prior to applying this advice method.
-
-
Method Details
-
requireStackSize
public void requireStackSize(int stackSize) Records a minimum stack size required by the represented advice method.- Specified by:
requireStackSizein interfaceAdvice.MethodSizeHandler- Parameters:
stackSize- The minimum size required by the represented advice method.
-
requireLocalVariableLength
public void requireLocalVariableLength(int localVariableLength) Requires a minimum length of the local variable array.- Specified by:
requireLocalVariableLengthin interfaceAdvice.MethodSizeHandler- Parameters:
localVariableLength- The minimal required length of the local variable array.
-
requireStackSizePadding
public void requireStackSizePadding(int stackSizePadding) Requires additional padding for the operand stack that is required for this advice's execution.- Specified by:
requireStackSizePaddingin interfaceAdvice.MethodSizeHandler.ForAdvice- Parameters:
stackSizePadding- The required padding.
-
requireLocalVariableLengthPadding
public void requireLocalVariableLengthPadding(int localVariableLengthPadding) Requires additional padding for the local variable array that is required for this advice's execution.- Specified by:
requireLocalVariableLengthPaddingin interfaceAdvice.MethodSizeHandler.ForAdvice- Parameters:
localVariableLengthPadding- The required padding.
-
recordMaxima
public void recordMaxima(int stackSize, int localVariableLength) Records the maximum values for stack size and local variable array which are required by the advice method for its individual execution without translation.- Specified by:
recordMaximain interfaceAdvice.MethodSizeHandler.ForAdvice- Parameters:
stackSize- The minimum required stack size.localVariableLength- The minimum required length of the local variable array.
-