RFR: 8344706: Implement JEP 512: Compact Source Files and Instance Main Methods [v8]
Chen Liang
liach at openjdk.org
Thu May 1 18:57:50 UTC 2025
On Thu, 1 May 2025 17:48:22 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:
>> This is a PR that implements JEP: Compact Source Files and Instance Main Methods. Changes include:
>> - `java.io.IO` moved to `java.lang.IO`, and no longer uses `System.console()` to implement the methods (thanks to @stuart-marks)
>> - `java. ... .IO` is no longer automatically imported in any compilation unit
>> - the feature is finalized (i.e. no longer requires `--enable-preview`)
>
> Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision:
>
> Updating copyright year.
src/java.base/share/classes/java/lang/IO.java line 157:
> 155: * <p>
> 156: * Writes a prompt as if by calling {@code print}, and then reads a single
> 157: * line of text as if by calling {@link readln readln()}.
Is this intended to render like `readln` or `readln()`? I always recommend prefixing member references with `#` like `#readln()`.
src/java.base/share/classes/java/lang/IO.java line 179:
> 177: * the reader() method.
> 178: */
> 179: static BufferedReader br;
The comments should indicate all access should be through `reader`, and this field is best made private to indicate direct field access is **not thread safe**.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24438#discussion_r2070645283
PR Review Comment: https://git.openjdk.org/jdk/pull/24438#discussion_r2070647143
More information about the core-libs-dev
mailing list