Class MethodProbesAdapter


  • public final class MethodProbesAdapter
    extends org.objectweb.asm.MethodVisitor
    Adapter that creates additional visitor events for probes to be inserted into a method.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private IFrame frame​(int popCount)  
      private org.objectweb.asm.Label getTryCatchLabel​(org.objectweb.asm.Label label)  
      private int jumpPopCount​(int opcode)  
      private boolean markLabels​(org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels)  
      void setAnalyzer​(org.objectweb.asm.commons.AnalyzerAdapter analyzer)
      If an analyzer is set IFrame handles are calculated and emitted to the probes methods.
      void visitInsn​(int opcode)  
      void visitJumpInsn​(int opcode, org.objectweb.asm.Label label)  
      void visitLabel​(org.objectweb.asm.Label label)  
      void visitLookupSwitchInsn​(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)  
      void visitTableSwitchInsn​(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels)  
      void visitTryCatchBlock​(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, java.lang.String type)  
      • Methods inherited from class org.objectweb.asm.MethodVisitor

        visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitIincInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitMaxs, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTypeAnnotation, visitTypeInsn, visitVarInsn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • analyzer

        private org.objectweb.asm.commons.AnalyzerAdapter analyzer
      • tryCatchProbeLabels

        private final java.util.Map<org.objectweb.asm.Label,​org.objectweb.asm.Label> tryCatchProbeLabels
    • Constructor Detail

      • MethodProbesAdapter

        public MethodProbesAdapter​(MethodProbesVisitor probesVisitor,
                                   IProbeIdGenerator idGenerator)
        Create a new adapter instance.
        Parameters:
        probesVisitor - visitor to delegate to
        idGenerator - generator for unique probe ids
    • Method Detail

      • setAnalyzer

        public void setAnalyzer​(org.objectweb.asm.commons.AnalyzerAdapter analyzer)
        If an analyzer is set IFrame handles are calculated and emitted to the probes methods.
        Parameters:
        analyzer - optional analyzer to set
      • visitTryCatchBlock

        public void visitTryCatchBlock​(org.objectweb.asm.Label start,
                                       org.objectweb.asm.Label end,
                                       org.objectweb.asm.Label handler,
                                       java.lang.String type)
        Overrides:
        visitTryCatchBlock in class org.objectweb.asm.MethodVisitor
      • getTryCatchLabel

        private org.objectweb.asm.Label getTryCatchLabel​(org.objectweb.asm.Label label)
      • visitLabel

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

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

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

        private int jumpPopCount​(int opcode)
      • visitLookupSwitchInsn

        public void visitLookupSwitchInsn​(org.objectweb.asm.Label dflt,
                                          int[] keys,
                                          org.objectweb.asm.Label[] labels)
        Overrides:
        visitLookupSwitchInsn in class org.objectweb.asm.MethodVisitor
      • visitTableSwitchInsn

        public void visitTableSwitchInsn​(int min,
                                         int max,
                                         org.objectweb.asm.Label dflt,
                                         org.objectweb.asm.Label... labels)
        Overrides:
        visitTableSwitchInsn in class org.objectweb.asm.MethodVisitor
      • markLabels

        private boolean markLabels​(org.objectweb.asm.Label dflt,
                                   org.objectweb.asm.Label[] labels)
      • frame

        private IFrame frame​(int popCount)