[code-reflection] RFR: 8337158: Modeling and lowering of switch statement [v4]

Paul Sandoz psandoz at openjdk.org
Fri Aug 9 22:54:01 UTC 2024


On Fri, 9 Aug 2024 16:38:16 GMT, Mourad Abbay <mabbay at openjdk.org> wrote:

>> Modeling and lowering of switch statement.
>
> Mourad Abbay has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Test switch statement model

src/java.base/share/classes/java/lang/reflect/code/op/CoreOp.java line 76:

> 74:      * An operation that models a Java statement
> 75:      */
> 76:     sealed interface JavaStatement permits ArrayAccessOp.ArrayStoreOp, AssertOp, FieldAccessOp.FieldStoreOp, InvokeOp, NewOp, ReturnOp, ThrowOp, VarAccessOp.VarStoreOp, VarOp, ExtendedOp.JavaBlockOp, ExtendedOp.JavaDoWhileOp, ExtendedOp.JavaEnhancedForOp, ExtendedOp.JavaForOp, ExtendedOp.JavaIfOp, ExtendedOp.JavaLabelOp, ExtendedOp.JavaLabeledOp, ExtendedOp.JavaSwitchStatementOp, ExtendedOp.JavaTryOp, ExtendedOp.JavaWhileOp, ExtendedOp.JavaYieldOp {

Can you change the formatting back?

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ReflectMethods.java line 72:

> 70: import static jdk.internal.java.lang.reflect.code.op.CoreOp._throw;
> 71: import static jdk.internal.java.lang.reflect.code.type.FunctionType.functionType;
> 72: import static jdk.internal.java.lang.reflect.code.type.JavaType.type;

Can you revert these? AFAICT they are inconsistently used, plus non-related changes make it harder to review.

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ReflectMethods.java line 1764:

> 1762:                 return l instanceof JCTree.JCConstantCaseLabel ccl && ccl.expr instanceof JCLiteral literal && literal.value == null;
> 1763:             }));
> 1764:             if (enhancedSw && !tree.hasUnconditionalPattern) {

Add a test that generates this part of the model?

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

PR Review Comment: https://git.openjdk.org/babylon/pull/211#discussion_r1712313146
PR Review Comment: https://git.openjdk.org/babylon/pull/211#discussion_r1712319978
PR Review Comment: https://git.openjdk.org/babylon/pull/211#discussion_r1712326858


More information about the babylon-dev mailing list