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

Stuart Marks smarks at openjdk.org
Mon Apr 7 18:13:29 UTC 2025


On Mon, 7 Apr 2025 09:12:27 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Use local variable for System.out in print().
>
> 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" ?

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

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


More information about the compiler-dev mailing list