src/share/classes/com/sun/tools/javac/comp/Lower.java

changeset 253
6ce39250fa88
parent 237
9711a6c2db7e
child 308
03944ee4fac4
equal deleted inserted replaced
252:5caa6c45936a 253:6ce39250fa88
2629 if (havePrimitive == type.isPrimitive()) 2629 if (havePrimitive == type.isPrimitive())
2630 return tree; 2630 return tree;
2631 if (havePrimitive) { 2631 if (havePrimitive) {
2632 Type unboxedTarget = types.unboxedType(type); 2632 Type unboxedTarget = types.unboxedType(type);
2633 if (unboxedTarget.tag != NONE) { 2633 if (unboxedTarget.tag != NONE) {
2634 if (!types.isSubtype(tree.type, unboxedTarget)) 2634 if (!types.isSubtype(tree.type, unboxedTarget)) //e.g. Character c = 89;
2635 tree.type = unboxedTarget; // e.g. Character c = 89; 2635 tree.type = unboxedTarget.constType(tree.type.constValue());
2636 return (T)boxPrimitive((JCExpression)tree, type); 2636 return (T)boxPrimitive((JCExpression)tree, type);
2637 } else { 2637 } else {
2638 tree = (T)boxPrimitive((JCExpression)tree); 2638 tree = (T)boxPrimitive((JCExpression)tree);
2639 } 2639 }
2640 } else { 2640 } else {

mercurial