Hi Joe,
Should src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java
—————
/**
* Constructs a new {@code String} by decoding the specified subarray of
* bytes using the specified {@linkplain java.nio.charset.Charset charset}.
*
* The caller of this method shall relinquish and transfer the ownership of
* the byte array to the callee since the later will not make a copy.
*
* @param bytes the byte array source
* @param cs the Charset
* @return the newly created string
* @throws IllegalArgumentException for malformed or unmappable bytes
*/
String newStringNoRepl(byte[] bytes, Charset cs) throws
CharacterCodingException;
————————
include an @throws for CharacterCodingException?
> On Jun 26, 2018, at 1:41 PM, Joe Wang <[email protected]> wrote:
>
>
>
> On 6/26/18, 6:54 AM, Alan Bateman wrote:
>> On 26/06/2018 05:50, Joe Wang wrote:
>>> Hi Alan, Sherman,
>>>
>>> Here's a version where we, as Sherman suggested, throw an IAE with CCE as
>>> the cause. This approach reduces code duplication in SC, although it
>>> complicates the impl a little bit with the added parameter and the
>>> different behavior between the existing usages of the methods and the new
>>> ones. The existing code paths are kept intact so there's no compatibility
>>> issue for the existing code.
>>>
>>> This version also did not remove the try-catch in Files as Alan suggested
>>> earlier.
>>>
>>> http://cr.openjdk.java.net/~joehw/jdk11/8205058/webrev02/
>> This version looks much better. In StringCoding, do you really need
>> throwCCE? The encode/decode methods do a replace or throw so I assume one
>> flag will do. If combined with Sherman suggestion then it would be minimal
>> changes to StringCoding. It would be nice to get rid of the IAE completely
>> but that is for another day. In Files then you don't need to check if cause
>> is null before testing its type.
>
> Yes, combined with Sherman's suggestion eliminated the need for the new
> parameter. Here's the updated webrev:
> http://cr.openjdk.java.net/~joehw/jdk11/8205058/webrev03/
> <http://cr.openjdk.java.net/~joehw/jdk11/8205058/webrev03/>
>>
>> The update tests to check for UnmappedCharacterException and
>> MalformedInputException look good.
>
> Thanks,
> Joe
>
>>
>> -Alan
<http://oracle.com/us/design/oracle-email-sig-198324.gif>
<http://oracle.com/us/design/oracle-email-sig-198324.gif>
<http://oracle.com/us/design/oracle-email-sig-198324.gif>
<http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen|
Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
[email protected] <mailto:[email protected]>