RFR: 8295653: Add a graph of the sealed class hierarchy for marked classes [v4]

Magnus Ihse Bursie ihse at openjdk.org
Thu Nov 3 14:51:34 UTC 2022


On Thu, 3 Nov 2022 14:45:23 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

>> make/jdk/src/classes/build/tools/taglet/SealedGraph.java line 106:
>> 
>>> 104:         } catch (FileNotFoundException e) {
>>> 105:             throw new RuntimeException(e);
>>> 106:         }
>> 
>> It's certainly unusual for a taglet `.toString` call to have this sort of side effect.   It would not the a showstopper, but have you checked whether this code is just executed once or multiple times?
>
> This is Per's code; I didn't look in detail in it. It does seem to be the correct place, though; it's more like the name of the method is bad, since it overloads the `toString` from `Object`, and gives the wrong impressions of its meaning and usage.
> 
> However, it seems we need change some code to be guaranteed by called only once. Looking into it...

Actually, no, it's fine. According to `toString` documentation:


     * If this taglet supports {@link #isBlockTag block} tags, it will be called once
     * for each comment containing instances of block tags, with a list of all the instances
     * of the block tag in that comment.


and I just presume we can trust the JDK authors to only add the tag once per class.

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

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



More information about the build-dev mailing list