Class AsmDependencyVisitor


  • class AsmDependencyVisitor
    extends org.objectweb.asm.ClassVisitor
    ClassVisitor dedicated to dependency analysis. This implementation is based on ASM example written by Eugene Kuleshov.
    Author:
    Damien Carbonne, Eugene Kuleshov
    • Field Detail

      • LOGGER

        protected static final org.apache.logging.log4j.Logger LOGGER
      • VOID_SIGNATURE_VISITOR

        protected static final org.objectweb.asm.signature.SignatureVisitor VOID_SIGNATURE_VISITOR
    • Constructor Detail

      • AsmDependencyVisitor

        public AsmDependencyVisitor​(AsmJavaAnalyzer analyzer,
                                    DGroup group,
                                    org.objectweb.asm.ClassVisitor v)
    • Method Detail

      • debugEnabled

        boolean debugEnabled()
      • enter

        void enter​(String message)
      • leave

        void leave()
      • visit

        public void visit​(int version,
                          int access,
                          String name,
                          String signature,
                          String superName,
                          String[] interfaces)
        Overrides:
        visit in class org.objectweb.asm.ClassVisitor
      • visitSource

        public void visitSource​(String source,
                                String debug)
        Overrides:
        visitSource in class org.objectweb.asm.ClassVisitor
      • visitModule

        public org.objectweb.asm.ModuleVisitor visitModule​(String name,
                                                           int access,
                                                           String version)
        Overrides:
        visitModule in class org.objectweb.asm.ClassVisitor
      • visitNestHost

        public void visitNestHost​(String nestHost)
        Overrides:
        visitNestHost in class org.objectweb.asm.ClassVisitor
      • visitNestMember

        public void visitNestMember​(String nestMember)
        Overrides:
        visitNestMember in class org.objectweb.asm.ClassVisitor
      • visitOuterClass

        public void visitOuterClass​(String owner,
                                    String name,
                                    String desc)
        Overrides:
        visitOuterClass in class org.objectweb.asm.ClassVisitor
      • visitAnnotation

        public org.objectweb.asm.AnnotationVisitor visitAnnotation​(String desc,
                                                                   boolean visible)
        Overrides:
        visitAnnotation in class org.objectweb.asm.ClassVisitor
      • visitTypeAnnotation

        public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation​(int typeRef,
                                                                       org.objectweb.asm.TypePath typePath,
                                                                       String desc,
                                                                       boolean visible)
        Overrides:
        visitTypeAnnotation in class org.objectweb.asm.ClassVisitor
      • visitAttribute

        public void visitAttribute​(org.objectweb.asm.Attribute attr)
        Overrides:
        visitAttribute in class org.objectweb.asm.ClassVisitor
      • visitInnerClass

        public void visitInnerClass​(String name,
                                    String outerName,
                                    String innerName,
                                    int access)
        Overrides:
        visitInnerClass in class org.objectweb.asm.ClassVisitor
      • visitField

        public org.objectweb.asm.FieldVisitor visitField​(int access,
                                                         String name,
                                                         String desc,
                                                         String signature,
                                                         Object value)
        Overrides:
        visitField in class org.objectweb.asm.ClassVisitor
      • visitMethod

        public org.objectweb.asm.MethodVisitor visitMethod​(int access,
                                                           String name,
                                                           String desc,
                                                           String signature,
                                                           String[] exceptions)
        Overrides:
        visitMethod in class org.objectweb.asm.ClassVisitor
      • visitEnd

        public void visitEnd()
        Overrides:
        visitEnd in class org.objectweb.asm.ClassVisitor
      • parseDesc

        void parseDesc​(String desc)
      • parseInternalName

        void parseInternalName​(String name)
        Parse an internal name.

        The name is converted to Java type name, then a corresponding DItem is created if necessary. Finally, a dependency to that type is added.

        Parameters:
        name - The internal name.
      • parseType

        void parseType​(org.objectweb.asm.Type type)
      • parseMethodDesc

        void parseMethodDesc​(String desc)
      • parseSignature

        void parseSignature​(String signature)
        Parse a generic signature.
        Parameters:
        signature - The optional signature.
      • isSignatureOfGenericClass

        boolean isSignatureOfGenericClass​(String signature)
      • parseConstant

        void parseConstant​(Object constant)