<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p>> <span style="white-space: pre-wrap">Alternatively, the JCK could rely on the following from the new spec (although I don’t know to what extent that’s allowed):</span></p>
    <p><span style="white-space: pre-wrap">Yes, the JCK can use that typically generated class names. This might work for the most Java SE implementations.
Original question was what should the JCK do for those <b>non-typical</b> implementations?
The JCK can ask an user to provide a custom converter (source name to class name).
</span></p>
    <p><span style="white-space: pre-wrap">But this would not work for implementations that generate class names indeterministically.
Hopefully  there will be none or a few of such ones and the JCK can run a weaker tests for them.
But a concern was that JCK users would be allowed to choose to run those weaker tests...
</span></p>
    <p><span style="white-space: pre-wrap">Can the spec somehow close this option? Or the JCK can close it on its own?</span></p>
    <p><span style="white-space: pre-wrap">Thanks,
-leonid
</span></p>
    <div class="moz-cite-prefix">On 11/28/2023 10:30 AM, Ron Pressler
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CDD78C93-CFCA-44FD-A032-131BFC8445BF@oracle.com">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">On 28 Nov 2023, at 18:08, Leonid Arbuzov <a class="moz-txt-link-rfc2396E" href="mailto:leonid.arbouzov@oracle.com"><leonid.arbouzov@oracle.com></a> wrote:

The JCK handles this by requesting an user to provide a command that start his tested JVM.
The command can be as script, a wrapper code, etc.
But it should be able to take a test main class name as an argument.
There are other ways to start JVM (for example, manually) but still the JCK should be able
to feed it with test main class name.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
I see, so I think the most complete way to do this is have a mechanism to offer the implementation a source file for compilation *and* have the implementation say what class file it generated for top level classes in the file (there will be just one in the case of a “simple compilation unit”, i.e. a source file containing an implicit class).

Alternatively, the JCK could rely on the following from the new spec (although I don’t know to what extent that’s allowed):

"In simple implementations of the Java SE Platform, where compilation units are stored in files, the name of this implicitly declared class would typically be the name of the file containing the simple compilation unit minus any extension”

So if you can rely on the implementation being file-based (or at least rely on that by default), then you are allowed to infer the name of the class from the name of the source file. At least for such implementation you don’t need to have the implementation tell you what it named the top-level class.

— Ron</pre>
    </blockquote>
  </body>
</html>