RFR JDK-8194764: javac incorrectly flags deprecated for removal imports
Jan Lahoda
jan.lahoda at oracle.com
Thu Jan 25 17:44:30 UTC 2018
Hi,
For a sample code like:
--- D.java
package a;
@Deprecated(forRemoval=true)
public class D {}
---A.java
package a;
import a.D;
public class A {
public static void main(String[] args) {
D d;
}
}
---
When javac is invoked (on JDK 10+) with -source 9, there is an incorrect
deprecation warning on import (this warning should not be printed, and
was not printed on JDK 9):
---
$ javac -source 9 D.java A.java
warning: [options] bootstrap class path not set in conjunction with
-source 9
A.java:3: warning: [removal] D in a has been deprecated and marked for
removal
import a.D;
^
A.java:7: warning: [removal] D in a has been deprecated and marked for
removal
D d;
^
3 warnings
---
This appears to be caused by small mistake that enabled deprecation
warnings for source levels up to 9, inclusive, while it should be
enabled only for source levels up to 8, inclusive.
Proposed webrev: http://cr.openjdk.java.net/~jlahoda/8194764/webrev.00/
Bug: https://bugs.openjdk.java.net/browse/JDK-8194764
How does this look?
Thanks,
Jan
More information about the compiler-dev
mailing list