Package net.bytebuddy.asm
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 net.bytebuddy.asm.Advice.MethodSizeHandler
Advice.MethodSizeHandler.Default, Advice.MethodSizeHandler.ForAdvice, Advice.MethodSizeHandler.ForInstrumentedMethod, Advice.MethodSizeHandler.NoOp -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final MethodDescription.InDefinedShapeThe advice method.private 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.Fields inherited from interface net.bytebuddy.asm.Advice.MethodSizeHandler
UNDEFINED_SIZE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedForAdvice(MethodDescription.InDefinedShape adviceMethod, 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
-
adviceMethod
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:
adviceMethod- The advice method.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.
-