Handle no class def errors
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / structure / ClassDescriptor.java
index c21761c..13d87b8 100755 (executable)
@@ -73,8 +73,13 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
         if (!isVisible())
             return;
 
-        indexFields(clazz.getDeclaredFields());
-        indexFields(clazz.getFields());
+        try {
+            indexFields(clazz.getDeclaredFields());
+            indexFields(clazz.getFields());
+        } catch (NoClassDefFoundError error){
+            // TODO: better logging of this error
+            System.out.println(error.toString());
+        }
 
         indexMethods(clazz);
 
@@ -318,8 +323,12 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
     @Override
     public String getGraphId() {
         final String result = "class_"
-                + fullyQualifiedName.replace('.', '_').replace(";", "")
-                .replace("[L", "").replace('$', '_');
+                + fullyQualifiedName
+                .replace('.', '_')
+                .replace(";", "")
+                .replace("[L", "")
+                .replace("[[", "")
+                .replace('$', '_');
         return result;
     }