On Wed, 9 Oct 2024 11:49:47 GMT, Markus KARG <d...@openjdk.org> wrote:

>> This Pull Requests proposes an implementation for 
>> [JDK-8341566](https://bugs.openjdk.org/browse/JDK-8341566): Adding the new 
>> method `public static Reader Reader.of(CharSequence)` will return an 
>> anonymous, non-synchronized implementation of a `Reader` for each kind of 
>> `CharSequence` implementation. It is optimized for `String`, 
>> `StringBuilder`, `StringBuffer` and `CharBuffer`.
>> 
>> In addition, this Pull Request proposes to replace the implementation of 
>> `StringReader` to become a simple synchronized wrapper around 
>> `Reader.of(CharSequence)` for the case of `String` sources. To ensure 
>> correctness, this PR...
>> * ...simply moved the **original code** of `StringBuilder` to become the 
>> de-facto implementation of `Reader.of()`, then stripped synchronized from it 
>> on the left hand, but kept just a synchronized wrapper on the right hand. 
>> Then added a `switch` for optimizations within the original code, at the 
>> exact location where previously just an optimization for `String` lived in.
>> * ...added tests for all methods (`Of.java`), and applied that test upon the 
>> modified `StringBuilder`.
>> 
>> Wherever new JavaDocs were added, existing phrases from other code locations 
>> have been copied and adapted, to best match the same wording.
>
> Markus KARG has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - assertThrows instead of expectedExceptions
>  - ordered jtreg tags according recommendation in 
> https://openjdk.org/jtreg/tag-spec.html#ORDER

I have looked at the CSR and revised the wording for you, mostly conveying 
information CSR review wants to see.

The original "Problem" section only mentions performance, but I added 
consistency with specification and problems with third-party/custom 
implementations, as those are indeed problems that we are fixing with this new 
API. Also simplified "Solution" section to emphasize on our new API. The 
inlined links have been standardized to links in the "Issue Links" section.

@mkarg Can you take a look at this revised version of CSR?

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

PR Comment: https://git.openjdk.org/jdk/pull/21371#issuecomment-2402809835

Reply via email to