RFR: 8324651: Compiler Implementation for Derived Record Creation (Preview) [v9]

Vicente Romero vromero at openjdk.org
Mon Apr 8 16:48:12 UTC 2024


On Mon, 8 Apr 2024 16:21:19 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:

>> This is a patch for javac, that adds the Derived Record Creation expressions. The current draft specification for the feature is:
>> https://cr.openjdk.org/~gbierman/jep468/jep468-20240326/specs/derived-record-creation-jls.html
>> 
>> The current CSR is here:
>> https://bugs.openjdk.org/browse/JDK-8328637
>> 
>> The patch is mostly straightforward, with two notable changes:
>>  - there is a new `ElementKind.COMPONENT_LOCAL_VARIABLE`, as the specification introduces this term, and it seems consistent with `ElementKind.BINDING_VARIABLE` that was introduced some time ago.
>>  - there are a bit broader changes in `Flow`, to facilitate the introduction of variables without an explicit declaration for definite assignment and effectively final computation.
>
> Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adding tests as suggested.

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java line 101:

> 99: import com.sun.tools.javac.tree.JCTree.JCPattern;
> 100: import com.sun.tools.javac.tree.JCTree.JCPatternCaseLabel;
> 101: import com.sun.tools.javac.tree.JCTree.JCDerivedInstance;

changes to this file can be removed now

test/langtools/tools/javac/patterns/withers/Model.java line 2:

> 1: /*
> 2:  * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.

probably this test should be in another location not under `patterns`, same for other tests added inside `patterns` folder

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18509#discussion_r1556130188
PR Review Comment: https://git.openjdk.org/jdk/pull/18509#discussion_r1556136586


More information about the core-libs-dev mailing list