On Fri, 14 Oct 2022 00:37:53 GMT, Brent Christian <[email protected]> wrote:
>> Issue: java/util/Formatter/Basic regression test emits lots of warning
>> messages (~60).
>>
>> Fix: Made adjustments to Basic-X.java.template as the BasicXXX.java files
>> where the errors originate from are generated from the template.
>>
>> Note: The reason why there is white space added (and already existing in the
>> BasicXXX files) is due to how the template is generated.
>
> test/jdk/java/util/Formatter/BasicByteObject.java line 232:
>
>> 230:
>> 231: private static Byte negate(Byte v) {
>> 232: return (byte) -v.byteValue();
>
> We want to be returning a `Byte`, so casting to `(byte)` doesn't seem right
> to me.
>
> `Byte.valueOf()` takes a `byte` and returns a `Byte`, so using that as the
> replacement for `new Byte`, we get:
> `return Byte.valueOf(-v.byteValue());`
> Is there a way to get the template to do that?
So, the above suggestion gives explicit auto-boxing, though some might find it
wordier than necessary.
Since `v.byteValue()` already returns a `byte`, the `(byte)` cast doesn't seem
necessary. I see that L242 does:
> `return -v.intValue();`
which is a pretty clean look. So `return -v.byteValue();` would be an option,
too.
-------------
PR: https://git.openjdk.org/jdk/pull/10684