Package net.bytebuddy.asm
Class Advice.AssignReturned.ExceptionHandler
java.lang.Object
net.bytebuddy.asm.Advice.AssignReturned.ExceptionHandler
- All Implemented Interfaces:
StackManipulation
- Enclosing class:
Advice.AssignReturned
@Enhance
protected static class Advice.AssignReturned.ExceptionHandler
extends Object
implements StackManipulation
An exception handler to handle exceptions during assignment.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
A factory for wrapping an assignment with an exception handler, if appropriate.Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StackManipulation
The exception handler to apply.private final TypeDescription
The exception type to handle.private final StackManipulation
The stack manipulation that represents the assignment.private final Advice.StackMapFrameHandler.ForPostProcessor
The stack map frame handler to use. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ExceptionHandler
(StackManipulation stackManipulation, StackManipulation exceptionHandler, TypeDescription exceptionType, Advice.StackMapFrameHandler.ForPostProcessor stackMapFrameHandler) Creates a new exception handler for an assignment. -
Method Summary
Modifier and TypeMethodDescriptionapply
(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext) Applies the stack manipulation that is described by this instance.boolean
isValid()
Determines if this stack manipulation is valid.
-
Field Details
-
stackManipulation
The stack manipulation that represents the assignment. -
exceptionHandler
The exception handler to apply. -
exceptionType
The exception type to handle. -
stackMapFrameHandler
The stack map frame handler to use.
-
-
Constructor Details
-
ExceptionHandler
protected ExceptionHandler(StackManipulation stackManipulation, StackManipulation exceptionHandler, TypeDescription exceptionType, Advice.StackMapFrameHandler.ForPostProcessor stackMapFrameHandler) Creates a new exception handler for an assignment.- Parameters:
stackManipulation
- The stack manipulation that represents the assignment.exceptionHandler
- The exception handler to apply.exceptionType
- The exception type to handle.stackMapFrameHandler
- The stack map frame handler to use.
-
-
Method Details
-
isValid
public boolean isValid()Determines if this stack manipulation is valid.- Specified by:
isValid
in interfaceStackManipulation
- Returns:
- If
false
, this manipulation cannot be applied and should throw an exception.
-
apply
public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext) Applies the stack manipulation that is described by this instance.- Specified by:
apply
in interfaceStackManipulation
- Parameters:
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.- Returns:
- The changes to the size of the operand stack that are implied by this stack manipulation.
-