On Mon, 7 Oct 2024 04:44:43 GMT, Chen Liang <[email protected]> wrote:
>> src/java.base/share/classes/java/io/Reader.java line 172:
>>
>>> 170: Objects.requireNonNull(source);
>>> 171:
>>> 172: return new Reader() {
>>
>> Maybe make this into a package‑private `CharSequenceReader` so that
>> [`StringReader::close()`] doesn’t have to use a try‑catch.
>>
>> [`StringReader::close()`]:
>> https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/io/StringReader.html#close()
>
> I don't think that try-catch is too much of a bloat compared to the extra
> license header and imports from the explicit `CharSequenceReader.java` file.
> Maybe make this into a package‑private `CharSequenceReader` so that
> [`StringReader::close()`](https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/io/StringReader.html#close())
> doesn’t have to use a try‑catch.
This is exactly the opposite of what Alan and me had in mind: It piles up the
stack of special-case classes. Instead, I do agree with Chen regarding code
bloat.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21371#discussion_r1791300193