On Mon, 2 Oct 2023 14:47:59 GMT, Aggelos Biboudis <abimpou...@openjdk.org> 
wrote:

>> This is the first draft of a patch for Primitive types in patterns, 
>> instanceof, and switch (Preview).
>> 
>> Draft spec here: 
>> https://cr.openjdk.org/~abimpoudis/instanceof/instanceof-20230913/specs/instanceof-jls.html
>
> Aggelos Biboudis has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains four additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into primitive-patterns
>  - Implement type pairs to exactnessMethod name
>  - Apply suggestions from code review
>    
>    Co-authored-by: Raffaello Giulietti <raffaello.giulie...@oracle.com>
>  - 8303374: Compiler Implementation for Primitive types in patterns, 
> instanceof, and switch (Preview)

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java line 735:

> 733:                 }
> 734:             }
> 735:             if (tree.selector.type.hasTag(TypeTag.BOOLEAN)) {

I would have expected true/false to be treated more or less like enum constants 
when it came to exhaustiveness? E.g. boolean is similar to an enum type that 
only has two options (or, if you will, a sealed type with two permitted 
subtypes). So, IMHO the treatment for booleans should happen in the `exhausts` 
method - and this method should be left very simple (possibly unchanged?)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15638#discussion_r1342970659

Reply via email to