Package cdc.deps.java.asm
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 Summary
FieldsModifier and TypeFieldDescriptionprotected final AsmJavaAnalyzerprotected static final org.apache.logging.log4j.Loggerprotected static final org.objectweb.asm.signature.SignatureVisitorFields inherited from class org.objectweb.asm.ClassVisitor
api, cv -
Constructor Summary
ConstructorsConstructorDescriptionAsmDependencyVisitor(AsmJavaAnalyzer analyzer, DGroup group) AsmDependencyVisitor(AsmJavaAnalyzer analyzer, DGroup group, org.objectweb.asm.ClassVisitor v) -
Method Summary
Modifier and TypeMethodDescription(package private) boolean(package private) void(package private) booleanisSignatureOfGenericClass(String signature) (package private) voidleave()(package private) voidparseConstant(Object constant) (package private) void(package private) voidparseInternalName(String name) Parse an internal name.(package private) voidparseMethodDesc(String desc) (package private) voidparseSignature(String signature) Parse a generic signature.(package private) voidparseType(org.objectweb.asm.Type type) voidvisit(int version, int access, String name, String signature, String superName, String[] interfaces) org.objectweb.asm.AnnotationVisitorvisitAnnotation(String desc, boolean visible) voidvisitAttribute(org.objectweb.asm.Attribute attr) voidvisitEnd()org.objectweb.asm.FieldVisitorvisitField(int access, String name, String desc, String signature, Object value) voidvisitInnerClass(String name, String outerName, String innerName, int access) org.objectweb.asm.MethodVisitorvisitMethod(int access, String name, String desc, String signature, String[] exceptions) org.objectweb.asm.ModuleVisitorvisitModule(String name, int access, String version) voidvisitNestHost(String nestHost) voidvisitNestMember(String nestMember) voidvisitOuterClass(String owner, String name, String desc) voidvisitSource(String source, String debug) org.objectweb.asm.AnnotationVisitorvisitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, String desc, boolean visible) Methods inherited from class org.objectweb.asm.ClassVisitor
getDelegate, visitPermittedSubclass, visitRecordComponent
-
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
-
-
Constructor Details
-
AsmDependencyVisitor
-
AsmDependencyVisitor
public AsmDependencyVisitor(AsmJavaAnalyzer analyzer, DGroup group, org.objectweb.asm.ClassVisitor v)
-
-
Method Details
-
debugEnabled
boolean debugEnabled() -
enter
-
leave
void leave() -
visit
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) - Overrides:
visitin classorg.objectweb.asm.ClassVisitor
-
visitSource
- Overrides:
visitSourcein classorg.objectweb.asm.ClassVisitor
-
visitModule
- Overrides:
visitModulein classorg.objectweb.asm.ClassVisitor
-
visitNestHost
- Overrides:
visitNestHostin classorg.objectweb.asm.ClassVisitor
-
visitNestMember
- Overrides:
visitNestMemberin classorg.objectweb.asm.ClassVisitor
-
visitOuterClass
- Overrides:
visitOuterClassin classorg.objectweb.asm.ClassVisitor
-
visitAnnotation
- Overrides:
visitAnnotationin classorg.objectweb.asm.ClassVisitor
-
visitTypeAnnotation
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, String desc, boolean visible) - Overrides:
visitTypeAnnotationin classorg.objectweb.asm.ClassVisitor
-
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute attr) - Overrides:
visitAttributein classorg.objectweb.asm.ClassVisitor
-
visitInnerClass
- Overrides:
visitInnerClassin classorg.objectweb.asm.ClassVisitor
-
visitField
public org.objectweb.asm.FieldVisitor visitField(int access, String name, String desc, String signature, Object value) - Overrides:
visitFieldin classorg.objectweb.asm.ClassVisitor
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) - Overrides:
visitMethodin classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()- Overrides:
visitEndin classorg.objectweb.asm.ClassVisitor
-
parseDesc
-
parseInternalName
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
-
parseSignature
Parse a generic signature.- Parameters:
signature- The optional signature.
-
isSignatureOfGenericClass
-
parseConstant
-