<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> (I believe this report is specifically about sub-optimal error recovery and reporting for implicitly declared classes.)</blockquote><div><br></div><div>Oh yeah, I ran through the original message too quickly to see there actually was an error. Sorry for confusion. maybe that in fact was some jtreg bug (or mine bug :) )</div><div><br></div><div> </div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 13, 2024 at 2:56 PM Jan Lahoda <<a href="mailto:jan.lahoda@oracle.com">jan.lahoda@oracle.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"><u></u>

  
  <div>
    <p>On 13. 08. 24 13:22, Olexandr Rotan wrote:</p>
    <blockquote type="cite">
      
      <div dir="ltr">I actually had a similar issue quite a while ago,
        when I wrote tests for <a href="https://bugs.openjdk.org/browse/JDK-8332497" target="_blank">https://bugs.openjdk.org/browse/JDK-8332497</a>.
        but thought it was an issue with jtreg. If you go to related PR,
        you could see long rants about test failing with similar error.
        Not sure if it would be helpful, but whoever will take on this
        issue could also look into this PR for extra test case and
        anything else one might find useful.</div>
    </blockquote>
    <p><br>
    </p>
    <p>Could you please be more specific about the relevant parts in the
      PR? I went through it twice, but sadly don't see much that would
      be relevant. (I believe this report is specifically about
      sub-optimal error recovery and reporting for implicitly declared
      classes.)</p>
    <p><br>
    </p>
    <p>Thanks,</p>
    <p>    Jan</p>
    <p><br>
    </p>
    <blockquote type="cite"><br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Tue, Aug 13, 2024 at
          2:06 PM Magnus Ihse Bursie <<a href="mailto:magnus.ihse.bursie@oracle.com" target="_blank">magnus.ihse.bursie@oracle.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>
            <p>If this is something that should be fixed, do we have a
              JBS issue tracking it?</p>
            <p>/Magnus<br>
            </p>
            <div>On 2024-07-30 19:43, Jonathan Gibbons wrote:<br>
            </div>
            <blockquote type="cite">
              <p>Even without special-casing `main`, the error message
                is misleading because it says `class, interface, enum,
                or record expected` and does not admit the possibility
                of `void` in this particular circumstance.</p>
              <p>-- Jon</p>
              <p><br>
              </p>
              <div>On 7/30/24 9:57 AM, Remi Forax wrote:<br>
              </div>
              <blockquote type="cite">
                <div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <hr id="m_6724337550512863522m_6296078229940487285zwchr">
                  <div>
                    <blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;padding-left:5px;color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><b>From:
                      </b>"Jaikiran Pai" <a href="mailto:jai.forums2013@gmail.com" target="_blank"><jai.forums2013@gmail.com></a><br>
                      <b>To: </b>"jdk-dev" <a href="mailto:jdk-dev@openjdk.org" target="_blank"><jdk-dev@openjdk.org></a><br>
                      <b>Sent: </b>Tuesday, July 30, 2024 5:43:34 PM<br>
                      <b>Subject: </b>Re: JEL 477 Issue<br>
                    </blockquote>
                  </div>
                  <div> </div>
                  <div>
                    <blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;padding-left:5px;color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt">
                      <p>> import module java.base;<br>
                        ><br>
                        > main() {<br>
                        ><br>
                        >    println("Moose");<br>
                        ><br>
                        >}</p>
                      <p>It appears that you are missing a "void" return
                        type before the main() method name. As noted in
                        the JEP-477, it should be:</p>
                      <p>import module java.base;<br>
                        void main() {<br>
                            println("Moose");<br>
                        }</p>
                    </blockquote>
                    <div><br>
                    </div>
                    <div>that said, if we want beginners to be able to
                      use that syntax, the error message should be
                      changed because the current message is misleading
                      and not very helpfull (javac should recognize
                      "main" and have a tailored error message).<br>
                    </div>
                    <div><br>
                    </div>
                    <div>@Ken, you do not need to import module
                      java.base, it's done by default and --source 23 is
                      not needed anymore since 23.<br>
                    </div>
                    <div><br>
                    </div>
                    <blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;padding-left:5px;color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt">
                      <p><br>
                      </p>
                      <p>-Jaikiran</p>
                    </blockquote>
                    <div><br>
                    </div>
                    <div>regards,<br>
                    </div>
                    <div>Rémi<br>
                    </div>
                    <div><br>
                    </div>
                    <blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;padding-left:5px;color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt">
                      <p><br>
                      </p>
                      <div>On 30/07/24 9:05 pm, <a href="mailto:omniprof@gmail.com" target="_blank">omniprof@gmail.com</a>
                        wrote:<br>
                      </div>
                      <blockquote>
                        <div>
                          <p class="MsoNormal">I apologize for posting
                            what is likely a trivial question that may
                            be inappropriate for this list but I cannot
                            find anywhere in my searches to explain what
                            is going wrong. Simply put JEP 477 does not
                            work in the pre-release version of Java 23
                            on a Windows 11 PC. There is a lot written
                            that all show a similar example.</p>
                          <p class="MsoNormal"><b>>> Here is the
                              program</b></p>
                          <p class="MsoNormal">import module java.base;</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">main() {</p>
                          <p class="MsoNormal">    println("Moose");</p>
                          <p class="MsoNormal">}</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal"><b>>> Here is the
                              version of Java I am running</b></p>
                          <p class="MsoNormal"><a>C:\dev\Onramptesting\OnRamptest\src</a>>java
                            --version</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">openjdk 23-ea 2024-09-17</p>
                          <p class="MsoNormal">OpenJDK Runtime
                            Environment (build 23-ea+34-2361)</p>
                          <p class="MsoNormal">OpenJDK 64-Bit Server VM
                            (build 23-ea+34-2361, mixed mode, sharing)</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal"><b>>> Here I run
                              the code with all the required switches.
                              The errors are the same with or without
                              Xlint</b></p>
                          <p class="MsoNormal"><a>C:\dev\Onramptesting\OnRamptest\src</a>>javac
                            --enable-preview --source 23 -Xlint:preview
                            Main.java</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal"><a>Main.java:1</a>: warning:
                            [preview] module imports are a preview
                            feature and may be removed in a future
                            release.</p>
                          <p class="MsoNormal">import module java.base;</p>
                          <p class="MsoNormal">       ^</p>
                          <p class="MsoNormal"><a>Main.java:3</a>: error:
                            class, interface, enum, or record expected</p>
                          <p class="MsoNormal">main() {</p>
                          <p class="MsoNormal">^</p>
                          <p class="MsoNormal"><a>Main.java:5</a>: error:
                            class, interface, enum, or record expected</p>
                          <p class="MsoNormal">}</p>
                          <p class="MsoNormal">^</p>
                          <p class="MsoNormal">2 errors</p>
                          <p class="MsoNormal">1 warning</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">Note that I get the same
                            results for –source 23 and –release 23</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">Trying single file:</p>
                          <p class="MsoNormal">java –enable-preview
                            Main.java</p>
                          <p class="MsoNormal">does not work as well.</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">Same result using Console
                            or PowerShell in Windows.</p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">What am I doing wrong? </p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">Ken Fogel</p>
                          <p class="MsoNormal"><a href="mailto:omniprof@gmail.com" target="_blank">omniprof@gmail.com</a><br>
                          </p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal"> </p>
                        </div>
                      </blockquote>
                      <br>
                    </blockquote>
                  </div>
                </div>
              </blockquote>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </div>

</blockquote></div></div></div>