Class ExceptionTableSensitiveMethodVisitor

java.lang.Object
org.objectweb.asm.MethodVisitor
net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor
Direct Known Subclasses:
Advice.AdviceVisitor, LineNumberPrependingMethodVisitor

public abstract class ExceptionTableSensitiveMethodVisitor extends org.objectweb.asm.MethodVisitor
A MethodVisitor that adds a callback after visiting the exception table of a method.
  • Field Details

    • trigger

      private boolean trigger
      true if the exception table callback was already triggered.
  • Constructor Details

    • ExceptionTableSensitiveMethodVisitor

      protected ExceptionTableSensitiveMethodVisitor(int api, org.objectweb.asm.MethodVisitor methodVisitor)
      Creates an exception table sensitive method visitor.
      Parameters:
      api - The ASM API version.
      methodVisitor - The delegating method visitor.
  • Method Details

    • considerEndOfExceptionTable

      private void considerEndOfExceptionTable()
      Considers if the end of the exception table was reached.
    • onAfterExceptionTable

      protected abstract void onAfterExceptionTable()
      Invoked after the exception table was visited. Typically, the exception table is visited by ASM at the beginning of a method. It is however possible that a user adds exception table entries at a later point. Normally, this is however not meaningful use of ASM.
    • visitFrame

      public final void visitFrame(int type, int localVariableLength, Object[] localVariable, int stackSize, Object[] stack)
      Overrides:
      visitFrame in class org.objectweb.asm.MethodVisitor
    • onVisitFrame

      protected void onVisitFrame(int type, int localVariableLength, Object[] localVariable, int stackSize, Object[] stack)
      Visits a stack map frame.
      Parameters:
      type - The type of stack map frame.
      localVariableLength - The length of the local variable array.
      localVariable - An array containing type symbols for all values in the local variable array.
      stackSize - The size of the operand stack.
      stack - An array containing type symbols for all values on the operand stack.
    • visitLabel

      public final void visitLabel(org.objectweb.asm.Label label)
      Overrides:
      visitLabel in class org.objectweb.asm.MethodVisitor
    • onVisitLabel

      protected void onVisitLabel(org.objectweb.asm.Label label)
      Visits a label.
      Parameters:
      label - The visited label.
      See Also:
      • MethodVisitor.visitLabel(Label)
    • visitIntInsn

      public final void visitIntInsn(int opcode, int operand)
      Overrides:
      visitIntInsn in class org.objectweb.asm.MethodVisitor
    • onVisitIntInsn

      protected void onVisitIntInsn(int opcode, int operand)
      Visits an integer opcode.
      Parameters:
      opcode - The visited opcode.
      operand - The visited operand.
    • visitVarInsn

      public final void visitVarInsn(int opcode, int offset)
      Overrides:
      visitVarInsn in class org.objectweb.asm.MethodVisitor
    • onVisitVarInsn

      protected void onVisitVarInsn(int opcode, int offset)
      Visits an variable instruction.
      Parameters:
      opcode - The visited opcode.
      offset - The visited offset.
    • visitTypeInsn

      public final void visitTypeInsn(int opcode, String type)
      Overrides:
      visitTypeInsn in class org.objectweb.asm.MethodVisitor
    • onVisitTypeInsn

      protected void onVisitTypeInsn(int opcode, String type)
      Visits a type instruction.
      Parameters:
      opcode - The visited opcode.
      type - The type name.
    • visitFieldInsn

      public final void visitFieldInsn(int opcode, String owner, String name, String descriptor)
      Overrides:
      visitFieldInsn in class org.objectweb.asm.MethodVisitor
    • onVisitFieldInsn

      protected void onVisitFieldInsn(int opcode, String owner, String name, String descriptor)
      Visits a field instruction.
      Parameters:
      opcode - The visited opcode.
      owner - The field's owner.
      name - The field's name.
      descriptor - The field's descriptor.
    • visitMethodInsn

      public final void visitMethodInsn(int opcode, String owner, String name, String descriptor)
      Overrides:
      visitMethodInsn in class org.objectweb.asm.MethodVisitor
    • onVisitMethodInsn

      @Deprecated protected void onVisitMethodInsn(int opcode, String owner, String name, String descriptor)
      Visits a method instruction.
      Parameters:
      opcode - The visited opcode.
      owner - The method's owner.
      name - The method's internal name.
      descriptor - The method's descriptor.
    • visitMethodInsn

      public final void visitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface)
      Overrides:
      visitMethodInsn in class org.objectweb.asm.MethodVisitor
    • onVisitMethodInsn

      protected void onVisitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface)
      Visits a method instruction.
      Parameters:
      opcode - The visited opcode.
      owner - The method's owner.
      name - The method's internal name.
      descriptor - The method's descriptor.
      isInterface - true if the method belongs to an interface.
    • visitInvokeDynamicInsn

      public final void visitInvokeDynamicInsn(String name, String descriptor, org.objectweb.asm.Handle handle, Object... argument)
      Overrides:
      visitInvokeDynamicInsn in class org.objectweb.asm.MethodVisitor
    • onVisitInvokeDynamicInsn

      protected void onVisitInvokeDynamicInsn(String name, String descriptor, org.objectweb.asm.Handle handle, Object... argument)
      Visits an invoke dynamic instruction.
      Parameters:
      name - The name of the method.
      descriptor - The descriptor of the method.
      handle - The bootstrap method handle.
      argument - The bootstrap method arguments.
    • visitJumpInsn

      public final void visitJumpInsn(int opcode, org.objectweb.asm.Label label)
      Overrides:
      visitJumpInsn in class org.objectweb.asm.MethodVisitor
    • onVisitJumpInsn

      protected void onVisitJumpInsn(int opcode, org.objectweb.asm.Label label)
      Visits a jump instruction.
      Parameters:
      opcode - The visited opcode.
      label - The visited label.
    • visitLdcInsn

      public final void visitLdcInsn(Object constant)
      Overrides:
      visitLdcInsn in class org.objectweb.asm.MethodVisitor
    • onVisitLdcInsn

      protected void onVisitLdcInsn(Object constant)
      Visits a constant pool access instruction.
      Parameters:
      constant - The constant pool value.
    • visitIincInsn

      public final void visitIincInsn(int offset, int increment)
      Overrides:
      visitIincInsn in class org.objectweb.asm.MethodVisitor
    • onVisitIincInsn

      protected void onVisitIincInsn(int offset, int increment)
      Visits an increment instruction.
      Parameters:
      offset - The offset of the accessed variable.
      increment - The value with which to increment.
    • visitTableSwitchInsn

      public final void visitTableSwitchInsn(int minimum, int maximum, org.objectweb.asm.Label defaultTarget, org.objectweb.asm.Label... label)
      Overrides:
      visitTableSwitchInsn in class org.objectweb.asm.MethodVisitor
    • onVisitTableSwitchInsn

      protected void onVisitTableSwitchInsn(int minimum, int maximum, org.objectweb.asm.Label defaultTarget, org.objectweb.asm.Label... label)
      Visits a table switch instruction.
      Parameters:
      minimum - The minimum index.
      maximum - The maximum index.
      defaultTarget - A label indicating the default value.
      label - Labels indicating the jump targets.
    • visitLookupSwitchInsn

      public final void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] key, org.objectweb.asm.Label[] label)
      Overrides:
      visitLookupSwitchInsn in class org.objectweb.asm.MethodVisitor
    • onVisitLookupSwitchInsn

      protected void onVisitLookupSwitchInsn(org.objectweb.asm.Label defaultTarget, int[] key, org.objectweb.asm.Label[] label)
      Visits a lookup switch instruction.
      Parameters:
      defaultTarget - The default option.
      key - The key values.
      label - The targets for each key.
    • visitMultiANewArrayInsn

      public final void visitMultiANewArrayInsn(String descriptor, int dimensions)
      Overrides:
      visitMultiANewArrayInsn in class org.objectweb.asm.MethodVisitor
    • onVisitMultiANewArrayInsn

      protected void onVisitMultiANewArrayInsn(String descriptor, int dimensions)
      Visits an instruction for creating a multidimensional array.
      Parameters:
      descriptor - The type descriptor of the array's component type.
      dimensions - The dimensions of the array.
    • visitInsn

      public final void visitInsn(int opcode)
      Overrides:
      visitInsn in class org.objectweb.asm.MethodVisitor
    • onVisitInsn

      protected void onVisitInsn(int opcode)
      Visits a simple instruction.
      Parameters:
      opcode - The opcode of the instruction.