On Fri, 9 Jan 2026 16:39:35 GMT, Maurizio Cimadamore <[email protected]> 
wrote:

>> Creation of null-restricted arrays are desugared as calls into methods of 
>> the `ArrayCreation` class, as we need to set the "strict" marker on the 
>> created array.
>> Currently the JVM doesn't support creation of null-restricted array for 
>> non-value types, so in this PR I cleaned up the `ArrayCreation` API to 
>> reflect more what javac needs. Also, according to our long term plans, 
>> `ArrayCreation` is really implemented on top of a new primitive in `Array`, 
>> which will be refined later to support creation of arrays with desired flags.
>> 
>> The translation strategy in javac is simple -- given an array initializer `{ 
>> .. }`, we just assign the initializer to a temp variable, then wrap the 
>> initializer using a call to `ArrayCreation::copied` to obtain the new array. 
>> Then we wrap everything in a let expression, so that things compose nicely.
>> 
>> While writing the test I realized that our combo framework failed to report 
>> compilation and execution failures. As I fixed that issue, I realized that a 
>> test I've added (`NullRestrictionReflectiveTest`) was not working correctly, 
>> as it had compilaton issues with some of the combinations and even a latent 
>> issue in signature parsing which I have now fixed.
>
> Maurizio Cimadamore has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Address review comments

looks good

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

Marked as reviewed by vromero (Committer).

PR Review: 
https://git.openjdk.org/valhalla/pull/1877#pullrequestreview-3644840248

Reply via email to