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