<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><br></div><div><br></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Archie Cobbs" <archie.cobbs@gmail.com><br><b>To: </b>"amber-spec-experts" <amber-spec-experts@openjdk.org><br><b>Sent: </b>Saturday, June 15, 2024 12:50:13 AM<br><b>Subject: </b>Re: Local classes and static members?<br></blockquote></div><div data-marker="__QUOTED_TEXT__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div dir="ltr"><div>Answering my own question...</div><br><div>It's a dumb question because it's no longer true. Originally local classes could not have static members but that changed in JDK 16 with <a href="https://bugs.openjdk.org/browse/JDK-8254321" target="_blank">JDK-8254321</a>.</div></div></blockquote><div><br></div><div>yes,<br data-mce-bogus="1"></div><div>at the time records were introduced.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>The only missing related feature is to allow the keyword 'static' in front of a local class, which is useful when you want to sandbox a static local class into a method by example in unit tests.<br></div><div><br data-mce-bogus="1"></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div dir="ltr"><br><div>-Archie</div></div></blockquote><div><br></div><div>Rémi<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div dir="ltr"><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 14, 2024 at 3:52 PM Archie Cobbs <<a href="mailto:archie.cobbs@gmail.com" target="_blank">archie.cobbs@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Dumb question...</div><br><div>Where is it specified in the JLS that a (normal) local class cannot have static members? I don't see it in <a href="https://docs.oracle.com/javase/specs/jls/se22/html/jls-14.html#jls-14.3" target="_blank">§14.3</a>.</div><br><div>Thanks.</div><br><div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div></div></div>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Archie L. Cobbs</div><br></blockquote></div></div></body></html>