Tweaks Class.setName to avoid an autobox and thus avoid
needing the Integer class to be initialized.
Review by: scottb
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5494 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/super/com/google/gwt/emul/java/lang/Class.java b/user/super/com/google/gwt/emul/java/lang/Class.java
index 1285c8b..3526d69 100644
--- a/user/super/com/google/gwt/emul/java/lang/Class.java
+++ b/user/super/com/google/gwt/emul/java/lang/Class.java
@@ -114,8 +114,13 @@
if (clazz.isClassMetadataEnabled()) {
clazz.typeName = packageName + className;
} else {
+ /*
+ * The initial "" + in the below code is to prevent clazz.hashCode() from
+ * being autoboxed. The class literal creation code is run very early
+ * during application start up, before class Integer has been initialized.
+ */
clazz.typeName = "Class$"
- + (seedName != null ? seedName : clazz.hashCode());
+ + (seedName != null ? seedName : "" + clazz.hashCode());
}
}