--- old/src/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java 2014-08-09 00:28:47.515863917 +0200 +++ new/src/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java 2014-08-09 00:28:47.391867516 +0200 @@ -28,7 +28,7 @@ import com.sun.tools.javac.util.Context; import com.sun.tools.javac.code.Symbol; -/** Subclass to Attr that overrides reportDepedence. +/** Subclass to Attr that overrides collect. * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own @@ -63,6 +63,11 @@ @Override public void reportDependence(Symbol from, Symbol to) { // Capture dependencies between the packages. - deps.collect(from.packge().fullname, to.packge().fullname); + deps.reportPackageDep(from.packge().fullname, to.packge().fullname); + // It would be convenient to check if to.outermost comes from source or classpath + // and only report it, if its from the classpath. This would reduce the amount + // of data sent over the wire to the sjavac client. Can this be done? All interesting + // classes are private within javac/file or javac/jvm.... + deps.reportClassDep(to.outermostClass()); } }