summaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/java/lang/ClassHelper.java
diff options
context:
space:
mode:
authormark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-18 17:29:21 +0000
committermark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-18 17:29:21 +0000
commit64089cc9f030d8ef7972adb5d117e0b23f47d62b (patch)
tree9f9c470de62ee62fba1331a396450d728d2b1fad /libjava/classpath/gnu/java/lang/ClassHelper.java
parent96034e28360d660d7a7708807fcbc4b519574d8e (diff)
downloadgcc-64089cc9f030d8ef7972adb5d117e0b23f47d62b.tar.gz
Imported GNU Classpath 0.90
* scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113887 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/gnu/java/lang/ClassHelper.java')
-rw-r--r--libjava/classpath/gnu/java/lang/ClassHelper.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/libjava/classpath/gnu/java/lang/ClassHelper.java b/libjava/classpath/gnu/java/lang/ClassHelper.java
index 14c8a39c478..49dce21eaf9 100644
--- a/libjava/classpath/gnu/java/lang/ClassHelper.java
+++ b/libjava/classpath/gnu/java/lang/ClassHelper.java
@@ -81,6 +81,34 @@ public class ClassHelper
return name.substring(lastInd + 1);
}
+ /**
+ * Return the name of the class as written by the user.
+ * This is used by the various reflection toString methods.
+ * It differs from {@link Class#getName()} in that it prints
+ * arrays with trailing "[]"s. Note that it does not treat
+ * member classes specially, so a dollar sign may still appear
+ * in the result. This is intentional.
+ * @param klass the class
+ * @return a pretty form of the class' name
+ */
+ public static String getUserName(Class klass)
+ {
+ int arrayCount = 0;
+ while (klass.isArray())
+ {
+ ++arrayCount;
+ klass = klass.getComponentType();
+ }
+ String name = klass.getName();
+ if (arrayCount == 0)
+ return name;
+ StringBuilder b = new StringBuilder(name.length() + 2 * arrayCount);
+ b.append(name);
+ for (int i = 0; i < arrayCount; ++i)
+ b.append("[]");
+ return b.toString();
+ }
+
/** Cache of methods found in getAllMethods(). */
private static Map allMethods = new HashMap();