On Tue, 21 Jun 2022 18:12:23 GMT, Naoto Sato <na...@openjdk.org> wrote:

>> This is a regression caused by the fix to 
>> [JDK-8286287](https://bugs.openjdk.org/browse/JDK-8286287), which assumed 
>> the method `String.decodeWithDecoder()` was only invoked with cs.REPLACE 
>> mode based on the comment "should not happen". Possibly this refers to the 
>> `String(byte[], int, int, Charset)` constructor, which specifically mentions 
>> the `REPLACE` mode. However, the method is invoked with 
>> `String.newStringNoRepl()` and it should NOT replace the malformed input 
>> (duh!). The fix is to throw an `Error` for the former case as before the 
>> regression, and `CharacterCodingException` for the latter via an 
>> `IllegalArgumentException`.
>> In fact, `Files.readString()` stopped throwing a `MalformedInputException` 
>> since JDK17 with the fix to JDK-8259842, which started throwing an `Error`.
>
> Naoto Sato has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Adding a test case in ReadWriteString.java

test/jdk/java/lang/String/NoReplTest.java line 47:

> 45:     private final static Charset WINDOWS_1252 = 
> Charset.forName("windows-1252");
> 46: 
> 47:     @Test

Looks confusing that annotation goes before javadoc

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

PR: https://git.openjdk.org/jdk/pull/9193

Reply via email to