NPE in Type.UndetVar.debugString()
Vicente Romero
vicente.romero at oracle.com
Mon Sep 18 14:23:51 UTC 2017
Hi Bernard,
Thanks for the bug report and the fix, I will take care of it,
Vicente
On 09/18/2017 06:29 AM, B. Blaser wrote:
> You're right, sorry...
> Forwarding it to compiler-dev.
>
> Bernard
>
> On 18 September 2017 at 10:40, Maurizio Cimadamore
> <maurizio.cimadamore at oracle.com> wrote:
>> Hi,
>> isn't this a bug in 10? Shouldn't this mail belong to compiler-dev?
>>
>> Maurizio
>>
>>
>>
>> On 16/09/17 14:54, B. Blaser wrote:
>>> Hi,
>>>
>>> When working on [1], I saw that "Type.UndetVar.debugString()"
>>> sometimes throws a NPE when called from within "UndetVar", for example
>>> in "addBound()" as here under, which is annoying...
>>>
>>> Could someone eventually push the following harmless fix to the amber
>>> and jdk10 repositories?
>>>
>>> This might be really helpful when debugging...
>>>
>>> Thanks,
>>> Bernard
>>>
>>> [1]
>>> http://mail.openjdk.java.net/pipermail/amber-dev/2017-September/002061.html
>>>
>>> diff --git
>>> a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java
>>> b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java
>>> --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java
>>> +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java
>>> @@ -1974,7 +1974,7 @@
>>> }
>>> for (InferenceBound bound: InferenceBound.values()) {
>>> List<Type> aboundList = bounds.get(bound);
>>> - if (aboundList.size() > 0) {
>>> + if (aboundList != null && aboundList.size() > 0) {
>>> result += bound + " = " + aboundList + '\n';
>>> }
>>> }
>>> @@ -2112,6 +2112,7 @@
>>> bounds.put(ib, prevBounds.prepend(bound2));
>>> notifyBoundChange(ib, bound2, false);
>>> }
>>> +//System.err.println("debug: " + debugString());
>>> }
>>> //where
>>> TypeMapping<Void> toTypeVarMap = new
>>> StructuralTypeMapping<Void>() {
>>
More information about the compiler-dev
mailing list