langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java
changeset 30843 6e378856c5a2
parent 28706 a724585645ce
--- a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java	Wed Jul 05 20:35:22 2017 +0200
+++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java	Fri May 22 13:05:26 2015 +0200
@@ -33,6 +33,7 @@
 import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import com.sun.tools.classfile.Dependency.Location;
 
@@ -137,8 +138,16 @@
     public void visitDependences(Archive source, Visitor v, Type level) {
         if (level == Type.SUMMARY) {
             final ArchiveDeps result = results.get(source);
-            result.requires().stream()
-                  .sorted(Comparator.comparing(Archive::getName))
+            final Set<Archive> reqs = result.requires();
+            Stream<Archive> stream = reqs.stream();
+            if (reqs.isEmpty()) {
+                if (hasDependences(source)) {
+                    // If reqs.isEmpty() and we have dependences, then it means
+                    // that the dependences are from 'source' onto itself.
+                    stream = Stream.of(source);
+                }
+            }
+            stream.sorted(Comparator.comparing(Archive::getName))
                   .forEach(archive -> {
                       Profile profile = result.getTargetProfile(archive);
                       v.visitDependence(source.getName(), source,