--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Wed Mar 25 10:28:36 2009 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Wed Mar 25 10:28:52 2009 +0000
@@ -2631,8 +2631,8 @@
if (havePrimitive) {
Type unboxedTarget = types.unboxedType(type);
if (unboxedTarget.tag != NONE) {
- if (!types.isSubtype(tree.type, unboxedTarget))
- tree.type = unboxedTarget; // e.g. Character c = 89;
+ if (!types.isSubtype(tree.type, unboxedTarget)) //e.g. Character c = 89;
+ tree.type = unboxedTarget.constType(tree.type.constValue());
return (T)boxPrimitive((JCExpression)tree, type);
} else {
tree = (T)boxPrimitive((JCExpression)tree);