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 { |