<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
Hello all!</div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="font-family: Calibri, sans-serif; display: inline !important; background-color: rgb(255, 255, 255);" class="ContentPasted0">Yuriy pointed out a valid point.</span><br>
</div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="font-family: Calibri, sans-serif; display: inline !important; background-color: rgb(255, 255, 255);" class="ContentPasted0"><br>
</span></div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="font-family: Calibri, sans-serif; display: inline !important; background-color: rgb(255, 255, 255);" class="ContentPasted0">1) Should we treat float/double/boolean/longs as a new addition to the
<span style="display: inline !important; background-color: rgb(255, 255, 255);">non-enhanced</span> switch (old switch) and support anything new that comes with that?</span></div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="font-family: Calibri, sans-serif; display: inline !important; background-color: rgb(255, 255, 255);" class="ContentPasted0"><br>
</span></div>
<div style="font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof"><font face="Calibri, sans-serif">or</font></div>
<div style="font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof"><font face="Calibri, sans-serif"><br>
</font></div>
<div style="font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof"><font face="Calibri, sans-serif">2) Should we treat those data types equally with all the pre-existing ones?</font></div>
<div style="font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof"><font face="Calibri, sans-serif"><br>
</font></div>
<div style="font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof"><font face="Calibri, sans-serif">I am strongly in favour of the
<span style="display: inline !important; background-color: rgb(255, 255, 255);">2)</span> for the shake of symmetry and uniformity in what the user will assume, thus I will fix the bug.</font></div>
<div style="font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof"><font face="Calibri, sans-serif"><br>
</font></div>
<div style="font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof"><font face="Calibri, sans-serif">What do others think?</font></div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b> Yuriy Maslyanko <yuriy.maslyanko@oracle.com><br>
<b>Sent:</b> 24 October 2023 21:57<br>
<b>To:</b> Angelos Bimpoudis <angelos.bimpoudis@oracle.com><br>
<b>Cc:</b> compiler-dev@openjdk.org <compiler-dev@openjdk.org><br>
<b>Subject:</b> JEP 455: Non-enhanced switch statements</font>
<div> </div>
</div>
<div lang="EN-US" style="word-wrap:break-word">
<div class="x_WordSection1">
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
Hi Angelos,</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
Section 14.11.2 of <a href="https://cr.openjdk.org/~abimpoudis/instanceof/jep443-20231010/specs/instanceof-jls.html#jls-14.11.2" data-auth="NotApplicable" id="OWA8a7ff157-bb46-c408-0d8c-3100cc911996" class="OWAAutoLink">
https://cr.openjdk.org/~abimpoudis/instanceof/jep443-20231010/specs/instanceof-jls.html#jls-14.11.2</a> has this note:</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;margin-left:.5in">
For compatibility reasons, <code style="font-family: "Courier New";"><span style="font-size:10.0pt">switch</span></code> statements that are not enhanced
<code style="font-family: "Courier New";"><span style="font-size:10.0pt">switch</span></code> statements are not required to be exhaustive.</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
Noticed that if the switch selector statement is float/double/boolean (in this case it’s a non-enhanced switch statement), the code shown below fails with “error: the switch statement does not cover all possible input values”:</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
    static boolean check = false;</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
    public static boolean testMethod() {</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
        double v1 = 1d;</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
        switch ( v1 ) {</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
            case 1d:</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
                check = true;</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
                break;</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
        }</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
        return check;</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
    }</p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
 </p>
<p class="x_MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">
<br>
</p>
</div>
</div>
</body>
</html>