usage of Class#getSimpleName() in MethodType#toString()

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Sep 9 10:13:00 UTC 2014


Jochen,

Thanks for the report. I agree with your evaluation.
I filed JDK-8057919 [1] to track that.

Best regards,
Vladimir Ivanov

[1] https://bugs.openjdk.java.net/browse/JDK-8057919

On 9/9/14, 1:33 PM, Jochen Theodorou wrote:
> so there is no good reason for that?
>
> Am 02.09.2014 10:59, schrieb Jochen Theodorou:
>> Hi,
>>
>> I just wanted to ask, why Class#getSimpleName() is used in
>> MethodType#toString(). People knowing this method from Class will also
>> know that getSimpleName makes assumption about the inner class names,
>> that are based on the JLS, which allows only a fraction of the names the
>> JVM allows. Resulting in things like this:
>>
>>> java.lang.InternalError: Malformed class name
>>> at java.lang.Class.getSimpleName(Class.java:1317)
>>> at java.lang.invoke.MethodType.toString(MethodType.java:724)
>>> at java.lang.String.valueOf(String.java:2979)
>>> at java.lang.StringBuilder.append(StringBuilder.java:131)
>>> at
>>> org.codehaus.groovy.vmplugin.v7.Selector$MethodSelector.<init>(Selector.java:477)
>>>
>>>
>>
>> bye Jochen
>>
>>
>
>


More information about the mlvm-dev mailing list