Class AsmDependencyVisitor

java.lang.Object
org.objectweb.asm.ClassVisitor
cdc.deps.java.asm.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 Details

    • LOGGER

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

      protected static final org.objectweb.asm.signature.SignatureVisitor VOID_SIGNATURE_VISITOR
    • analyzer

      protected final AsmJavaAnalyzer analyzer
  • Constructor Details

    • AsmDependencyVisitor

      public AsmDependencyVisitor(AsmJavaAnalyzer analyzer, DGroup group)
    • AsmDependencyVisitor

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

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