On Sat, 25 Feb 2023 04:05:29 GMT, Vicente Romero <vrom...@openjdk.org> wrote:

>> Archie L. Cobbs has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Fix typo in one comment and clarify another.
>
> src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java line 2736:
> 
>> 2734:           .sorted(Comparator.comparing(e -> e.getKey().toString()))
>> 2735:           .map(Map.Entry::getValue)
>> 2736:           .peek(Collections::reverse)               // seems to help 
>> warning ordering
> 
> not sure about reversing the order here, it seems to me that if the order is 
> reversed then the warning is shown in the first occurrence of a method 
> instead of in the second which is the offending one. So for example for this 
> code:
> 
> 
>     interface I1 {
>         void foo(Consumer<Integer> c);
>         void foo(IntConsumer c);
>     }
> 
> the warning is shown for the first method when I think it should be shown for 
> the second which is the one introducing the ambiguity
> 
> EDIT, after your last commit, this comment now applies to: 
> `methodGroups.forEach(Collections::reverse);`

The reversing was originally done in order to maintain consistency with the 
existing regression test outputs. But you are right - it results in visiting 
the methods backwards.

Fixed in e25ceced163.

-------------

PR: https://git.openjdk.org/jdk/pull/12645

Reply via email to