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 interfaceA factory for wrapping an assignment with an exception handler, if appropriate.Nested classes/interfaces inherited from interface StackManipulation
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedExceptionHandler(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.booleanisValid()Determines if this stack manipulation is valid.
-
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:
isValidin 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:
applyin 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.
-