On Mon, 6 Nov 2023 18:51:59 GMT, Jan Lahoda <[email protected]> wrote:
>> src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java line 397:
>>
>>> 395:
>>> 396: try {
>>> 397: if (!(value instanceof Enum<?> enumValue)) {
>>
>> this code seems to be here with the only purpose of casting `value` to
>> `Enum<?>`, if this is the case shouldn't this intention be more explicit?
>
> This method is also used in the `typeSwitch` (i.e. ordinary pattern matching
> switch, which may contain qualified enum constants intermixed with patterns),
> and so the `value` may be any object. If it is not an Enum, we can avoid the
> potential costly resolution.
I see shouldn't we then have a test that stresses this code?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16499#discussion_r1383825208