changeset 6391:07cd99f9dafb

use more sensible string representation for classes in the binary graph protocol
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 14 Sep 2012 13:42:58 +0200
parents 2d84f74e394c
children 4f7b8550daf8
files graal/com.oracle.graal.printer/src/com/oracle/graal/printer/BinaryGraphPrinter.java
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/BinaryGraphPrinter.java	Fri Sep 14 10:52:30 2012 +0200
+++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/BinaryGraphPrinter.java	Fri Sep 14 13:42:58 2012 +0200
@@ -241,6 +241,13 @@
         }
     }
 
+    private static String getClassName(Class<?> klass) {
+        if (!klass.isArray()) {
+            return klass.getName();
+        }
+        return getClassName(klass.getComponentType()) + "[]";
+    }
+
     private void addPoolEntry(Object object) throws IOException {
         int index = constantPool.add(object);
         writeByte(POOL_NEW);
@@ -248,7 +255,7 @@
         if (object instanceof Class<?>) {
             Class<?> klass = (Class< ? >) object;
             writeByte(POOL_CLASS);
-            writeString(klass.getName());
+            writeString(getClassName(klass));
             if (klass.isEnum()) {
                 writeByte(ENUM_KLASS);
                 Object[] enumConstants = klass.getEnumConstants();