hg: jdk7/tl/langtools: 6979683: inconsistent interaction of reference cast with box/unbox conversions leaves out a useful case
Rémi Forax
forax at univ-mlv.fr
Thu Sep 2 14:03:26 PDT 2010
Le 02/09/2010 22:29, maurizio cimadamore a écrit :
> On 02/09/2010 20:30, Ulf Zibis wrote:
>> Am 02.09.2010 20:50, schrieb Rémi Forax:
>>> Le 02/09/2010 20:21, Ulf Zibis a écrit :
>>>> Hi,
>>>>
>>>> is Bug ID: 6775385 NPE caused by ConditionalExpression and
>>>> auto-boxing failure
>>>> <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6775385>
>>>> concerned by this bug ?
>>>>
>>>> -Ulf
>>>
>>> I don't think so, section 15.25 of JLS3 is clear.
>>> For a conditional ?:, if one parameter is a primitive and the other
>>> is a wrapper
>>> of a numeric type, the wrapper must be unboxed.
>>>
>>
>> I think, it's worth to change the spec here.
> An advantage of the current rules is that they somehow limit the
> propagation of NPE related to unboxing e.g.
>
> Integer i1 = null;
> Integer i2 = true ? i : 2 //now NPE
> ... //possibly after several lines of code and further assignments
> int i3 = i2; //with proposed change NPE would be here
>
> Maurizio
>>
>> -Ulf
Ulf,
I agree with you that the rules for conditional are surprising,
but if you change that part of the spec, you will break a lot of code.
Rémi
More information about the compiler-dev
mailing list