On Mon, 6 Nov 2023 18:51:59 GMT, Jan Lahoda <jlah...@openjdk.org> 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

Reply via email to