langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
changeset 2510 d7ba8e16a928
parent 2220 dfae517d8078
child 3149 0cd06d598d6f
--- 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);