RFR: 8295962: Reference to State in Task.java is ambiguous when building with JDK 19
Andy Goryachev
angorya at openjdk.org
Fri Oct 28 17:07:06 UTC 2022
On Wed, 26 Oct 2022 22:38:15 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
> This PR replaces all occurrences of `State` with `Worker.State` in `javafx.concurrent.Task`.
>
> The `javafx.concurrent.Task` class implements `javafx.concurrent.Worker` and extends `java.util.concurrent.FutureTask`, which in turn implements `java.util.concurrent.Future`.
>
> `Worker` has a nested `State` enum, which is used in the implementing `Task` class without being qualified -- since `Task` is a `Worker`, we can just say `State` instead of `Worker.State`.
>
> [JDK-8277090](https://bugs.openjdk.org/browse/JDK-8277090) added a nested `State` enum to the `java.util.concurrent.Future` interface in JDK 19, so an unqualified reference to `State` from the `Task` class is now ambiguous when using JDK 19 to build. The javadoc task fails with an error (and the only reason the javac task doesn't is that we use `--release 17`).
>
> With this fix, a local build and test using JDK 19 passes.
see 9 errors
@kevinrushforth
I am getting 9 errors:
Description Resource Location
The type State is ambiguous AbstractTask.java line 62
The type State is ambiguous TaskShim.java line 52
The type Task.State is ambiguous TaskCancelTest.java line 60
The type Task.State is ambiguous TaskCancelTest.java line 72
The type Task.State is ambiguous TaskCancelTest.java line 93
The type Task.State is ambiguous TaskCancelTest.java line 108
The type Task.State is ambiguous TaskCancelTest.java line 120
The type Task.State is ambiguous TaskCancelTest.java line 139
The type Task.State is ambiguous TaskSimpleTest.java line 68
-------------
Changes requested by angorya (Author).
PR: https://git.openjdk.org/jfx/pull/933
More information about the openjfx-dev
mailing list