-
Bug
-
Resolution: Fixed
-
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
-
There are no Sub-Tasks for this issue.