diff options
Diffstat (limited to 'vm/reference/java')
-rw-r--r-- | vm/reference/java/lang/reflect/Constructor.java | 6 | ||||
-rw-r--r-- | vm/reference/java/lang/reflect/Field.java | 4 | ||||
-rw-r--r-- | vm/reference/java/lang/reflect/Method.java | 57 |
3 files changed, 12 insertions, 55 deletions
diff --git a/vm/reference/java/lang/reflect/Constructor.java b/vm/reference/java/lang/reflect/Constructor.java index cb633db11..3789fbb9a 100644 --- a/vm/reference/java/lang/reflect/Constructor.java +++ b/vm/reference/java/lang/reflect/Constructor.java @@ -38,6 +38,8 @@ exception statement from your version. */ package java.lang.reflect; +import gnu.java.lang.ClassHelper; + import java.util.Arrays; /** @@ -190,9 +192,9 @@ extends AccessibleObject implements Member Class[] c = getParameterTypes(); if (c.length > 0) { - sb.append(c[0].getName()); + sb.append(ClassHelper.getUserName(c[0])); for (int i = 1; i < c.length; i++) - sb.append(',').append(c[i].getName()); + sb.append(',').append(ClassHelper.getUserName(c[i])); } sb.append(')'); c = getExceptionTypes(); diff --git a/vm/reference/java/lang/reflect/Field.java b/vm/reference/java/lang/reflect/Field.java index 85e76d634..5475aa272 100644 --- a/vm/reference/java/lang/reflect/Field.java +++ b/vm/reference/java/lang/reflect/Field.java @@ -38,6 +38,8 @@ exception statement from your version. */ package java.lang.reflect; +import gnu.java.lang.ClassHelper; + /** * The Field class represents a member variable of a class. It also allows * dynamic access to a member, via reflection. This works for both @@ -171,7 +173,7 @@ extends AccessibleObject implements Member // 64 is a reasonable buffer initial size for field StringBuffer sb = new StringBuffer(64); Modifier.toString(getModifiers(), sb).append(' '); - sb.append(getType().getName()).append(' '); + sb.append(ClassHelper.getUserName(getType())).append(' '); sb.append(getDeclaringClass().getName()).append('.'); sb.append(getName()); return sb.toString(); diff --git a/vm/reference/java/lang/reflect/Method.java b/vm/reference/java/lang/reflect/Method.java index 27256770e..4da8d5c66 100644 --- a/vm/reference/java/lang/reflect/Method.java +++ b/vm/reference/java/lang/reflect/Method.java @@ -38,6 +38,8 @@ exception statement from your version. */ package java.lang.reflect; +import gnu.java.lang.ClassHelper; + import java.util.Arrays; /** @@ -212,15 +214,15 @@ extends AccessibleObject implements Member // 128 is a reasonable buffer initial size for constructor StringBuffer sb = new StringBuffer(128); Modifier.toString(getModifiers(), sb).append(' '); - sb.append(getUserTypeName(getReturnType().getName())).append(' '); + sb.append(ClassHelper.getUserName(getReturnType())).append(' '); sb.append(getDeclaringClass().getName()).append('.'); sb.append(getName()).append('('); Class[] c = getParameterTypes(); if (c.length > 0) { - sb.append(getUserTypeName(c[0].getName())); + sb.append(ClassHelper.getUserName(c[0])); for (int i = 1; i < c.length; i++) - sb.append(',').append(getUserTypeName(c[i].getName())); + sb.append(',').append(ClassHelper.getUserName(c[i])); } sb.append(')'); c = getExceptionTypes(); @@ -233,55 +235,6 @@ extends AccessibleObject implements Member return sb.toString(); } - private static String getUserTypeName(String typeSpec) - { - int pos = 0; - String typeName = ""; - String arrayPart = ""; - - while (typeSpec.charAt(pos) == '[') - { - arrayPart += "[]"; - ++pos; - } - - switch (typeSpec.charAt(pos)) - { - case 'Z': - typeName = "boolean"; - break; - case 'B': - typeName = "byte"; - break; - case 'C': - typeName = "char"; - break; - case 'D': - typeName = "double"; - break; - case 'F': - typeName = "float"; - break; - case 'I': - typeName = "int"; - break; - case 'J': - typeName = "long"; - break; - case 'S': - typeName = "short"; - break; - case 'L': - typeName = typeSpec.substring(pos + 1, typeSpec.length() - 1); - break; - default: - typeName = typeSpec; - break; - } - - return typeName + arrayPart; - } - /** * Invoke the method. Arguments are automatically unwrapped and widened, * and the result is automatically wrapped, if needed.<p> |