All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.is24.deadcode4j.analyzer.ClassDependencyAnalyzer Maven / Gradle / Ivy

There is a newer version: 2.1.0
Show newest version
package de.is24.deadcode4j.analyzer;

import de.is24.deadcode4j.AnalysisContext;
import javassist.CtClass;

import javax.annotation.Nonnull;
import java.util.Collection;

/**
 * Analyzes class files: lists the classes a class is depending on.
 *
 * @since 1.0.0
 */
public class ClassDependencyAnalyzer extends ByteCodeAnalyzer {

    @Override
    protected void analyzeClass(@Nonnull AnalysisContext analysisContext, @Nonnull CtClass clazz) {
        String className = clazz.getName();

        @SuppressWarnings("unchecked")
        Collection refClasses = clazz.getRefClasses();

        analysisContext.addAnalyzedClass(className);
        analysisContext.addDependencies(className, refClasses);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy