Class 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.
    • Constructor Detail

      • 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 Detail

      • 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
      • 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.