Package net.bytebuddy.asm
Class Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling
- java.lang.Object
-
- org.objectweb.asm.MethodVisitor
-
- net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor
-
- net.bytebuddy.asm.Advice.AdviceVisitor
-
- net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
-
- net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling
-
- All Implemented Interfaces:
Advice.Dispatcher.RelocationHandler.Relocation
- Enclosing class:
- Advice.AdviceVisitor.WithExitAdvice
protected static class Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling extends Advice.AdviceVisitor.WithExitAdvice
An advice visitor that captures exceptions by weaving try-catch blocks around user code.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling, Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandling
-
Nested classes/interfaces inherited from class net.bytebuddy.asm.Advice.AdviceVisitor
Advice.AdviceVisitor.WithExitAdvice, Advice.AdviceVisitor.WithoutExitAdvice
-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation
Advice.Dispatcher.RelocationHandler.Relocation.ForLabel
-
-
Field Summary
Fields Modifier and Type Field Description private org.objectweb.asm.LabelexceptionHandlerIndicates the exception handler.private TypeDescriptionthrowableThe type of the handled throwable type for which this advice is invoked.protected org.objectweb.asm.LabeluserStartIndicates the start of the user method.-
Fields inherited from class net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
returnHandler
-
Fields inherited from class net.bytebuddy.asm.Advice.AdviceVisitor
argumentHandler, instrumentedMethod, methodExit, methodSizeHandler, stackMapFrameHandler
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedWithExceptionHandling(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, StackManipulation exceptionHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.Resolved.ForMethodEnter methodEnter, Advice.Dispatcher.Resolved.ForMethodExit methodExit, int writerFlags, int readerFlags, TypeDescription throwable)Creates a new advice visitor that captures exception by weaving try-catch blocks around user code.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidonExitAdviceReturn()Invoked after the exit advice method has returned.protected voidonUserPrepare()Invoked when the user method's exception handler (if any) is supposed to be prepared.protected voidonUserReturn()Invoked after the user method has returned.protected voidonUserStart()Writes the advice for entering the instrumented method.-
Methods inherited from class net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
apply, onUserEnd, onVisitInsn
-
Methods inherited from class net.bytebuddy.asm.Advice.AdviceVisitor
onAfterExceptionTable, onVisitFrame, onVisitIincInsn, onVisitVarInsn, visitLocalVariable, visitLocalVariableAnnotation, visitMaxs
-
Methods inherited from class net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor
onVisitFieldInsn, onVisitIntInsn, onVisitInvokeDynamicInsn, onVisitJumpInsn, onVisitLabel, onVisitLdcInsn, onVisitLookupSwitchInsn, onVisitMethodInsn, onVisitMethodInsn, onVisitMultiANewArrayInsn, onVisitTableSwitchInsn, onVisitTypeInsn, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitTableSwitchInsn, visitTypeInsn, visitVarInsn
-
Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitInsnAnnotation, visitLineNumber, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation
-
-
-
-
Field Detail
-
throwable
private final TypeDescription throwable
The type of the handled throwable type for which this advice is invoked.
-
exceptionHandler
private final org.objectweb.asm.Label exceptionHandler
Indicates the exception handler.
-
userStart
protected final org.objectweb.asm.Label userStart
Indicates the start of the user method.
-
-
Constructor Detail
-
WithExceptionHandling
protected WithExceptionHandling(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, StackManipulation exceptionHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.Resolved.ForMethodEnter methodEnter, Advice.Dispatcher.Resolved.ForMethodExit methodExit, int writerFlags, int readerFlags, TypeDescription throwable)Creates a new advice visitor that captures exception by weaving try-catch blocks around user code.- Parameters:
methodVisitor- The method visitor for the instrumented method.instrumentedType- A description of the instrumented type.implementationContext- The implementation context to use.assigner- The assigner to use.exceptionHandler- The stack manipulation to apply within a suppression handler.instrumentedMethod- A description of the instrumented method.methodEnter- The dispatcher to be used for method enter.methodExit- The dispatcher to be used for method exit.writerFlags- The ASM writer flags that were set.readerFlags- The ASM reader flags that were set.throwable- The type of the handled throwable type for which this advice is invoked.
-
-
Method Detail
-
onUserPrepare
protected void onUserPrepare()
Description copied from class:Advice.AdviceVisitorInvoked when the user method's exception handler (if any) is supposed to be prepared.- Specified by:
onUserPreparein classAdvice.AdviceVisitor
-
onUserStart
protected void onUserStart()
Description copied from class:Advice.AdviceVisitorWrites the advice for entering the instrumented method.- Specified by:
onUserStartin classAdvice.AdviceVisitor
-
onUserReturn
protected void onUserReturn()
Description copied from class:Advice.AdviceVisitor.WithExitAdviceInvoked after the user method has returned.- Specified by:
onUserReturnin classAdvice.AdviceVisitor.WithExitAdvice
-
onExitAdviceReturn
protected void onExitAdviceReturn()
Description copied from class:Advice.AdviceVisitor.WithExitAdviceInvoked after the exit advice method has returned.- Specified by:
onExitAdviceReturnin classAdvice.AdviceVisitor.WithExitAdvice
-
-