Top Description Inners Fields Constructors Methods
com.sun.tools.jdeps

public Class ModuleAnalyzer

extends Object
Class Inheritance
Static Imports
com.sun.tools.jdeps.JdepsFilter.DEFAULT_FILTER, com.sun.tools.jdeps.Module.*, java.lang.module.ModuleDescriptor.Requires.Modifier.*, java.util.stream.Collectors.*

Analyze module dependences and compare with module descriptor. Also identify any qualified exports not used by the target module.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv class

Field Summary

Modifier and TypeField and Description
private final JdepsConfiguration
private final DependencyFinder
private static final String
private final PrintWriter
private final Map<Module, ModuleAnalyzer.ModuleDeps>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public ModuleDescriptor[]
private boolean
public boolean
run(boolean ignoreMissingDeps)

public Map<String, Set<String>>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

configurationback to summary
private final JdepsConfiguration configuration
dependencyFinderback to summary
private final DependencyFinder dependencyFinder
JAVA_BASEback to summary
private static final String JAVA_BASE
logback to summary
private final PrintWriter log
modulesback to summary
private final Map<Module, ModuleAnalyzer.ModuleDeps> modules

Constructor Detail

ModuleAnalyzerback to summary
public ModuleAnalyzer(JdepsConfiguration config, PrintWriter log, Set<String> names)

Method Detail

descriptorsback to summary
public ModuleDescriptor[] descriptors(String name)
matchesback to summary
private boolean matches(ModuleDescriptor md, ModuleDescriptor other)
runback to summary
public boolean run(boolean ignoreMissingDeps) throws IOException
unusedQualifiedExportsback to summary
public Map<String, Set<String>> unusedQualifiedExports(String name)
com.sun.tools.jdeps back to summary

pack-priv Class ModuleAnalyzer.ModuleDeps

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv Set<Module>
pack-priv Set<Module>
pack-priv final Module
pack-priv Map<String, Set<String>>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private boolean
analyzeDeps()

Apply transitive reduction on the resulting graph and reports recommended requires.

private Graph<Module>
private void
private void
computeRequires(boolean ignoreMissingDeps)

private Stream<Module>
computeRequires(boolean apionly, boolean ignoreMissingDeps)

private void
computeRequiresTransitive(boolean ignoreMissingDeps)

Compute 'requires transitive' dependences by analyzing API dependencies

pack-priv ModuleDescriptor
private ModuleDescriptor
descriptor(Set<Module> requiresTransitive, Set<Module> requires)

pack-priv boolean
pack-priv void
private void
pack-priv ModuleDescriptor
reduced()

Apply the transitive reduction on the module graph and returns the corresponding ModuleDescriptor

private void
private Map<String, Set<String>>
unusedQualifiedExports()

Detects any qualified exports not used by the target module.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

requiresback to summary
pack-priv Set<Module> requires
requiresTransitiveback to summary
pack-priv Set<Module> requiresTransitive
rootback to summary
pack-priv final Module root
unusedQualifiedExportsback to summary
pack-priv Map<String, Set<String>> unusedQualifiedExports

Constructor Detail

ModuleDepsback to summary
pack-priv ModuleDeps(Module root)

Method Detail

analyzeDepsback to summary
private boolean analyzeDeps()

Apply transitive reduction on the resulting graph and reports recommended requires.

buildReducedGraphback to summary
private Graph<Module> buildReducedGraph()
checkQualifiedExportsback to summary
private void checkQualifiedExports()
computeRequiresback to summary
private void computeRequires(boolean ignoreMissingDeps)
computeRequiresback to summary
private Stream<Module> computeRequires(boolean apionly, boolean ignoreMissingDeps)
computeRequiresTransitiveback to summary
private void computeRequiresTransitive(boolean ignoreMissingDeps)

Compute 'requires transitive' dependences by analyzing API dependencies

descriptorback to summary
pack-priv ModuleDescriptor descriptor()
descriptorback to summary
private ModuleDescriptor descriptor(Set<Module> requiresTransitive, Set<Module> requires)
hasMissingDependenciesback to summary
pack-priv boolean hasMissingDependencies()
printModuleDescriptorback to summary
pack-priv void printModuleDescriptor()
printModuleDescriptorback to summary
private void printModuleDescriptor(PrintWriter out, Module module)
reducedback to summary
pack-priv ModuleDescriptor reduced()

Apply the transitive reduction on the module graph and returns the corresponding ModuleDescriptor

showMissingDepsback to summary
private void showMissingDeps()
unusedQualifiedExportsback to summary
private Map<String, Set<String>> unusedQualifiedExports()

Detects any qualified exports not used by the target module.