On Fri, 14 Oct 2022 00:37:53 GMT, Brent Christian <bchri...@openjdk.org> 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