On Sat, 25 Feb 2023 04:05:29 GMT, Vicente Romero <[email protected]> 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