On Tue, 4 May 2021 20:48:34 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

>> Jan Lahoda has updated the pull request incrementally with three additional 
>> commits since the last revision:
>> 
>>  - Reflecting recent spec changes.
>>  - Reflecting review comments.
>>  - Reflecting review comments on SwitchBootstraps.
>
> Good work. There's a lot to take in here. I think overall, it holds up well - 
> I like how case labels have been extended to accommodate for patterns. In the 
> front-end, I think there are some questions over the split between Attr and 
> Flow - maybe it is unavoidable, but I'm not sure why some control-flow 
> analysis happens in Attr instead of Flow and I left some questions to make 
> sure I understand what's happening.
> 
> In the backend it's mostly good work - but overall the structure of the code, 
> both in Lower and in TransPattern is getting very difficult to follow, given 
> there are many different kind of switches each with its own little twist 
> attached to it. It would be nice, I think (maybe in a separate cleanup?) if 
> the code paths serving the different switch kinds could be made more 
> separate, so that, when reading the code we can worry only about one possible 
> code shape. That would make the code easier to document as well.

@mcimadamore, @forax, thanks a lot for comments! I tried to apply the requested 
changes in recent commits 
(https://github.com/openjdk/jdk/pull/3863/commits/3fc2502a33cec20f39fe571eb25538ee3b459a9b
 
https://github.com/openjdk/jdk/pull/3863/commits/aeddb85e65bf77ed62dc7fa1ad00c29646d02c99
 ).

I've also tried to update the implementation for the latest spec changes here:
https://github.com/openjdk/jdk/pull/3863/commits/54ba974e1aac00bbde1c3bd2627f01caaaeda09b

The spec changes are: total patterns are nullable; pattern matching ("new") 
statement switches must be complete (as switch expressions).

Any further feedback is welcome!

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

PR: https://git.openjdk.java.net/jdk/pull/3863

Reply via email to