RFR: 8303374: Compiler Implementation for Primitive types in patterns, instanceof, and switch (Preview) [v19]
Vicente Romero
vromero at openjdk.org
Thu Oct 12 22:40:22 UTC 2023
On Wed, 11 Oct 2023 15:43:19 GMT, Aggelos Biboudis <abimpoudis at 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/jep443-20231010/specs/instanceof-jls.html
>
> Aggelos Biboudis has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix duplicate method name and add a new test in PrimitivePatternsSwitchErrors
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 5055:
> 5053: return (source.isPrimitive() && target.isPrimitive()) &&
> 5054: ((source.hasTag(BYTE) && !target.hasTag(CHAR) ||
> 5055: (source.hasTag(SHORT) && (target.hasTag(INT) || target.hasTag(LONG) || target.hasTag(FLOAT) || target.hasTag(DOUBLE)))||
this code can also be simplified as suggested for similar code in SwitchBootstraps, actually here you have access to the infra already in TypeTag and can leverage it.
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java line 2910:
> 2908: }
> 2909:
> 2910: public void visitTypeTest(JCInstanceOf tree) {
would it make sense to document how the generated code should look like?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15638#discussion_r1357407958
PR Review Comment: https://git.openjdk.org/jdk/pull/15638#discussion_r1357439742
More information about the core-libs-dev
mailing list