code review request for 6880112, Coin: use diamond in core libraries
Stuart Marks
stuart.marks at oracle.com
Fri Dec 17 03:14:33 UTC 2010
Thanks for the comments, folks.
I've been puzzling over the issue of joining lines after diamond conversion if
they're short enough. It turns out to be a surprisingly complex interaction of
tools, code style, and process.[1]
Joe and I actually talked about this issue briefly the other day and our
initial inclination was not to make the additional whitespace changes. In some
sense the Jackpot automated converter should do this for us, but it doesn't,
and I don't want to take the time at the moment to get up to speed and modify
it to do this.
However, Brian and Alan and another person off-list have all raised this issue,
so I think it's important that we address it. Looking at it again, leaving
something like this in the code:
private static Map<String, URL> urls
= new HashMap<>(10);
really offends my sensibilities, and let's face it, nobody is going to go in
and fix this unless I do it now. It turns out that it isn't too difficult to
write a script that can be run after-the-fact to join these lines if they end
up shorter than 80 characters.
Unfortunately, as Kelly points out (and I've also verified this) changing the
line breaks will change the .class file contents (though not the bytecodes).
The original changeset does have a very nice property of not changing the
.class files at all. We could preserve this property by putting the line joins
in a separate changeset. I'd do this if we could have multiple changesets with
the same bugid, but a separate changeset requires a separate bugid... so maybe
this isn't worth the overhead after all.
I've run the line joiner and it changed ten files. Here's an incremental
webrev, over and above yesterday's:
http://cr.openjdk.java.net/~smarks/reviews/6880112/webrev.1/
and the corresponding hg bundle is here:
http://cr.openjdk.java.net/~smarks/reviews/6880112/bundle.1.hg
If this doesn't meet with any objections, I'll merge these whitespace changes
and the earlier diamond conversion changes into a single changeset and then
push the result.
s'marks
[1] "I have yet to see any problem, however complicated, which, when looked at
in the right way, did not become still more complicated." -- Poul Anderson
More information about the core-libs-dev
mailing list