src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleInfoBuilder.java
changeset 52650 c16b6cc93272
parent 47216 71c04702a3d5
equal deleted inserted replaced
52649:e00cf18e2593 52650:c16b6cc93272
   135         } finally {
   135         } finally {
   136             dependencyFinder.shutdown();
   136             dependencyFinder.shutdown();
   137         }
   137         }
   138     }
   138     }
   139 
   139 
   140     boolean notFound(Archive m) {
       
   141         return m == NOT_FOUND || m == REMOVED_JDK_INTERNALS;
       
   142     }
       
   143 
       
   144     private Module toNormalModule(Module module, Set<Archive> requiresTransitive)
   140     private Module toNormalModule(Module module, Set<Archive> requiresTransitive)
   145         throws IOException
   141         throws IOException
   146     {
   142     {
   147         // done analysis
   143         // done analysis
   148         module.close();
   144         module.close();
   149 
   145 
   150         if (analyzer.requires(module).anyMatch(this::notFound)) {
   146         if (analyzer.requires(module).anyMatch(Analyzer::notFound)) {
   151             // missing dependencies
   147             // missing dependencies
   152             return null;
   148             return null;
   153         }
   149         }
   154 
   150 
   155         Map<String, Boolean> requires = new HashMap<>();
   151         Map<String, Boolean> requires = new HashMap<>();
   180                     .map(Module::descriptor);
   176                     .map(Module::descriptor);
   181     }
   177     }
   182 
   178 
   183     void visitMissingDeps(Analyzer.Visitor visitor) {
   179     void visitMissingDeps(Analyzer.Visitor visitor) {
   184         automaticModules().stream()
   180         automaticModules().stream()
   185             .filter(m -> analyzer.requires(m).anyMatch(this::notFound))
   181             .filter(m -> analyzer.requires(m).anyMatch(Analyzer::notFound))
   186             .forEach(m -> {
   182             .forEach(m -> {
   187                 analyzer.visitDependences(m, visitor, Analyzer.Type.VERBOSE);
   183                 analyzer.visitDependences(m, visitor, Analyzer.Type.VERBOSE, Analyzer::notFound);
   188             });
   184             });
   189     }
   185     }
   190 
   186 
   191     void writeModuleInfo(Path file, ModuleDescriptor md) {
   187     void writeModuleInfo(Path file, ModuleDescriptor md) {
   192         try {
   188         try {