<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div class="socmaildefaultfont" dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10pt"><div class="socmaildefaultfont" dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10pt"><div dir="ltr" class="">Have a few clarifications, assuming we take the following example:</div>
<div dir="ltr" class=""> </div>
<div dir="ltr" class="">public void method foo() {</div>
<div dir="ltr" class=""> </div>
<div dir="ltr" class=""> </div>
<div dir="ltr" class="">if (e instanceof String s) {</div>
<div dir="ltr" class="">  // s allowed</div>
<div dir="ltr" class="">} else {</div>
<div dir="ltr" class=""> // s not allowed</div>
<div dir="ltr" class="">}</div>
<div dir="ltr" class=""> // A: s should not be allowed here?</div>
<div dir="ltr" class="">}</div></div></div></div></blockquote><div><br class=""></div>In this example, s is allowed at A if and only if the ELSE block never completes normally.  (In that case, in all the cases you could get to A, it is because the match succeeded, and hence s would be DA.)  </div><div><br class=""></div><br class=""></body></html>