- 
    Bug 
- 
    Resolution: Fixed
- 
     P2 P2
- 
    8u60, 9
- 
        b64
- 
        Verified
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8082650 | emb-9 | Vladimir Ivanov | P2 | Resolved | Fixed | team | 
| JDK-8065970 | 8u60 | Vladimir Ivanov | P2 | Closed | Won't Fix | 
                    http://mail.openjdk.java.net/pipermail/mlvm-dev/2014-September/005939.html
On 9/2/14, 12:59 PM, Jochen Theodorou wrote:
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
            
On 9/2/14, 12:59 PM, Jochen Theodorou wrote:
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
- backported by
- 
                    JDK-8082650 Class.getSimpleName() should work for non-JLS compliant class names -           
- Resolved
 
-         
- 
                    JDK-8065970 Class.getSimpleName() should work for non-JLS compliant class names -           
- Closed
 
-         
- relates to
- 
                    JDK-8250226 Unspecified exception thrown by Class::getDeclaringClass and Class::getEnclosingClass if the outer class is not present -           
- Open
 
-         
- 
                    CODETOOLS-7901918 Work around Class.getSimpleName() bug -           
- Resolved
 
-