changeset 23771:a123fd9add6b

Fix printing of nested method classes in MetaUtil, and ensure they do not throw.
author Aleksandar Prokopec <aleksandar.prokopec@oracle.com>
date Thu, 29 Sep 2016 18:31:34 +0200
parents c968119ee980
children 59f53c97a38a
files jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MetaUtil.java
diffstat 1 files changed, 7 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MetaUtil.java	Thu Sep 29 12:04:27 2016 +0200
+++ b/jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MetaUtil.java	Thu Sep 29 18:31:34 2016 +0200
@@ -38,8 +38,12 @@
      * @return the simple name
      */
     public static String getSimpleName(Class<?> clazz, boolean withEnclosingClass) {
-        final String simpleName = clazz.getSimpleName();
-        if (simpleName.length() != 0) {
+        String simpleName = null;
+        try {
+            simpleName = clazz.getSimpleName();
+        } catch (InternalError e) {
+        }
+        if (simpleName != null && simpleName.length() != 0) {
             if (withEnclosingClass) {
                 String prefix = "";
                 Class<?> enclosingClass = clazz;
@@ -52,14 +56,7 @@
         }
         // Must be an anonymous or local class
         final String name = clazz.getName();
-        int index = name.indexOf('$');
-        if (index == -1) {
-            return name;
-        }
-        index = name.lastIndexOf('.', index);
-        if (index == -1) {
-            return name;
-        }
+        int index = name.lastIndexOf('.');
         return name.substring(index + 1);
     }