summaryrefslogtreecommitdiff
path: root/vm/reference/java
diff options
context:
space:
mode:
Diffstat (limited to 'vm/reference/java')
-rw-r--r--vm/reference/java/lang/reflect/Constructor.java6
-rw-r--r--vm/reference/java/lang/reflect/Field.java4
-rw-r--r--vm/reference/java/lang/reflect/Method.java57
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>