RFR [14] 8234746: Improve indexing of system properties
Jonathan Gibbons
jonathan.gibbons at oracle.com
Wed Nov 27 21:20:02 UTC 2019
On 11/25/2019 09:19 AM, Pavel Rappo wrote:
> Hello,
>
> Please review the following change for https://bugs.openjdk.java.net/browse/JDK-8234746:
>
> http://cr.openjdk.java.net/~prappo/8234746/webrev.00/
>
> Before:
>
> javax.rmi.ssl.client.enabledCipherSuites - Search tag in javax.rmi.ssl.SslRMIClientSocketFactory
> javax.rmi.ssl.client.enabledCipherSuites - Search tag in javax.rmi.ssl.SslRMIClientSocketFactory
> ...
> file.separator - Search tag in java.lang.System
>
> After:
>
> javax.rmi.ssl.client.enabledCipherSuites - Search tag in javax.rmi.ssl.SslRMIClientSocketFactory
> javax.rmi.ssl.client.enabledCipherSuites - Search tag in javax.rmi.ssl.SslRMIClientSocketFactory.createSocket
> ...
> file.separator - Search tag in java.lang.System.getProperties
>
> Thanks,
> -Pavel
>
You either need a test or mark the bug as noreg-something.
Uugh.
I agree that the fix will work, but I cringe at the methods in Utils
that make you fix it this way.
Readingline 441 of your fix, it is "obviously wrong" since the simple
name of an element is generally the last component of the qualified
name, but I see that "Utils.getFullyQualifiedName" will (and is
specified to) return the qualified name of the enclosing element in some
cases, which is not an intuitive definition based on the method's name.
I guess I wonder how often Utils.getFullyQualifiedName is invoked with a
field or method, and whether we should make those use sites use
Utils.getFullyQualifiedName(e.getEnclosingElement()) if they really want
the qualified name of the enclosing element, so that
Utils.getFullyQualifiedName() can throw ILA if called with an element
that does not have a fully qualified name.
Proactively applying that logic to your fix, it would be less jarring if
you were to change it to:
- 441 si.setHolder(utils.getFullyQualifiedName(e) + "." +
utils.getSimpleName(e)); + 441
si.setHolder(utils.getFullyQualifiedName(e.getEnclosingElement()) + "."
+ utils.getSimpleName(e));
That being said, I see your fix is the same as in line 435, which
suggests we might want to modify that line as well to better reflect the
notions of fully qualified name and simple name. Curiously, the code
for visitVariable "almost" gets it right, by getting the enclosing type
element (te) but then it ignores it.
--Jon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20191127/f5d21faa/attachment.html>
More information about the javadoc-dev
mailing list