RFR: 8042441: sjavac does not properly track dependencies in two cases.

Jonathan Gibbons jonathan.gibbons at oracle.com
Tue May 6 22:57:31 UTC 2014


It seems to me you are fixing two issues here -- dependency tracking 
failures and test failures.

Also, in Attr.java, you have "broken" a javac convention of placing 
private utility methods nearby their usage, introduced by a "// where" 
comment. By placing the new method where you have, you have separated 
visitSelect from the "// where" method that follows it.

-- Jon

On 05/06/2014 03:17 PM, Fredrik Öhrström wrote:
> Hi compiler-dev,
> Please review this fix for JDK-8042441 which fixes two dependency 
> tracking failures in sjavac.
> Description:
> A fully qualified identifier for example "alfa.A a;" is not tracked,
> but "import alfa.A; ... A a;" is tracked. The fix tracks the fully 
> qualified identifier by instrumenting Attr.java with a 
> reportDependence in the same way that Resolve.java is already 
> instrumented. Thanks Jan Lahoda for the help on where to instrument.
> Also, the previous change from . to / in the arguments accidentally 
> broke the dependencies inside the javac_state file. A trivial fix is 
> supplied for this, however the tests did not catch this, since the 
> tests did not use packages with more than one level, ie no dots...thus 
> the tests are improved to actually detect this kind of error.
> Link to webrev:
> http://cr.openjdk.java.net/~ohrstrom/webrev-8042441/ 
> <http://cr.openjdk.java.net/%7Eohrstrom/webrev-8042441/>
> Link to bug report:
> https://bugs.openjdk.java.net/browse/JDK-8042441

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20140506/d2e87784/attachment.html>

More information about the compiler-dev mailing list