RFR: 8295962: Reference to State in Task.java is ambiguous when building with JDK 19

Kevin Rushforth kcr at openjdk.org
Wed Oct 26 22:44:56 UTC 2022


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.

-------------

Commit messages:
 - 8295962: Reference to State in Task.java is ambiguous when building with JDK 19

Changes: https://git.openjdk.org/jfx/pull/933/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=933&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8295962
  Stats: 14 lines in 1 file changed: 0 ins; 0 del; 14 mod
  Patch: https://git.openjdk.org/jfx/pull/933.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/933/head:pull/933

PR: https://git.openjdk.org/jfx/pull/933


More information about the openjfx-dev mailing list