RFR: 8302344: Compiler Implementation for Unnamed patterns and variables (Preview) [v14]
Jan Lahoda
jlahoda at openjdk.org
Fri May 5 09:29:35 UTC 2023
On Thu, 4 May 2023 23:28:29 GMT, Aggelos Biboudis <abimpoudis at openjdk.org> wrote:
>> This PR implements [JEP 443](https://openjdk.org/jeps/443), the preview feature for Unnamed Patterns and Variables in Java.
>>
>> Draft Spec: https://cr.openjdk.org/~abimpoudis/unnamed/latest/
>
> Aggelos Biboudis has updated the pull request incrementally with one additional commit since the last revision:
>
> 8307482: Compiler should accept var _ in nested patterns in switch case
src/jdk.compiler/share/classes/com/sun/source/tree/AnyPatternTree.java line 32:
> 30: *
> 31: */
> 32: public interface AnyPatternTree extends PatternTree {
`@PreviewFeature` here.
src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java line 227:
> 225: * @since 21
> 226: */
> 227: ANY_PATTERN(AnyPatternTree.class),
@PreviewFeature here.
src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java line 267:
> 265: * @since 21
> 266: */
> 267: R visitAnyPattern(AnyPatternTree node, P p);
@PreviewFeature here.
src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java line 641:
> 639: */
> 640: @Override
> 641: public R visitAnyPattern(AnyPatternTree node, P p) {
`@PreviewFeature` here.
src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java line 773:
> 771: */
> 772: @Override
> 773: public R visitAnyPattern(AnyPatternTree node, P p) {
`@PreviewFeature` here.
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java line 329:
> 327: nestedBinding = nestedDesugared.primaryPattern();
> 328: allowNull = false;
> 329: } else if (nestedPattern instanceof JCAnyPattern nestedRecordPattern) {
Nit: `nestedRecordPattern` -> `nestedAnyPattern`?
test/langtools/tools/javac/patterns/Unnamed.java line 8:
> 6: * @summary Compiler Implementation for Unnamed patterns and variables
> 7: * @enablePreview
> 8: * @compile --enable-preview -source ${jdk.version} Unnamed.java
+1 on keeping the `@compile` tag, but `--enable-preview -source ${jdk.version}` shouldn't be needed when `@enablePreview` is present.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13528#discussion_r1185805923
PR Review Comment: https://git.openjdk.org/jdk/pull/13528#discussion_r1185807097
PR Review Comment: https://git.openjdk.org/jdk/pull/13528#discussion_r1185807170
PR Review Comment: https://git.openjdk.org/jdk/pull/13528#discussion_r1185807989
PR Review Comment: https://git.openjdk.org/jdk/pull/13528#discussion_r1185808102
PR Review Comment: https://git.openjdk.org/jdk/pull/13528#discussion_r1185819402
PR Review Comment: https://git.openjdk.org/jdk/pull/13528#discussion_r1185871609
More information about the compiler-dev
mailing list