RFR: 8314423: Multiple patterns without unnamed variables
Jan Lahoda
jlahoda at openjdk.org
Wed Aug 16 15:12:11 UTC 2023
On Wed, 16 Aug 2023 14:52:14 GMT, Aggelos Biboudis <abimpoudis at openjdk.org> wrote:
> This PR addresses both [JDK-8314423](https://bugs.openjdk.org/browse/JDK-8314423) and [JDK-8314216](https://bugs.openjdk.org/browse/JDK-8314216), since both are relevant to checks around the structure of switch in the relevant method in `Check`. Additionally a check was needed in `analyzePattern` to detect that when a case starts with a constant case label followed by a `,` or `->` is indeed a constant expression and not a pattern as previously signified.
Looks reasonable, with some comments.
test/langtools/tools/javac/T8314216.java line 20:
> 18:
> 19: public static void main(String[] args) {
> 20: new Test().test("ddd");
Note `Test` is not in scope here (not declared), which is the cause of the `cant.resolve.location` error. Is there a reason to keep the `main` method here? Seems to me it should be fine to simply remove it?
test/langtools/tools/javac/T8314423.java line 4:
> 2: * @test /nodynamiccopyright/
> 3: * @bug 8314423
> 4: * @summary Multiple patterns without unnamed variables
Maybe use `@enablePreview` instead of `--enable-preview`?
-------------
PR Review: https://git.openjdk.org/jdk/pull/15310#pullrequestreview-1580855285
PR Review Comment: https://git.openjdk.org/jdk/pull/15310#discussion_r1296061208
PR Review Comment: https://git.openjdk.org/jdk/pull/15310#discussion_r1296061693
More information about the compiler-dev
mailing list