RFR: 8344706: Compiler Implementation of Compact Source Files and Instance Main Methods [v2]

Chen Liang liach at openjdk.org
Mon Apr 7 19:25:19 UTC 2025


On Mon, 7 Apr 2025 18:08:29 GMT, Stuart Marks <smarks at openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/IO.java line 45:
>> 
>>> 43:  * UTF-8 is used instead. These internal objects are created upon the first call to
>>> 44:  * either of the {@code readln} methods and are stored for subsequent reuse by these
>>> 45:  * methods.
>> 
>> @stuart-marks Can we rephrase this paragraph so that it doesn't use phrase "internal objects"? The class does speak of buffering and how it might impact code that mixes use of System.in and IO.readln so I agree with that part it's just the "internal objects" phrase that is confusing to read in this class.
>
> I used "internal objects" because I wanted to avoid naming concrete classes, which might or might not be used. Previous drafts mentioned BufferedReader, InputStreamReader, and CharsetDecoder.
> 
> I could replace "internal objects" with something more descriptive like "objects to handle buffering and charset decoding" but I'd still need a noun phrase to refer to them later. Maybe "buffering and decoding objects" ?

Can we rephrase the 1st sentence to read:
"The `readln()` and `readln(String)` methods in this class decode bytes read from `System.in` into characters."

And remove the last "these internal objects" sentence.

And for the next paragraph, change the first line to:
"The `readln` methods may buffer additional bytes..."

So we remove references to "internal objects."

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24438#discussion_r2031815564


More information about the compiler-dev mailing list