overload resolution: provide type parameter bounds with site substitutor to correctly compare types during most specific check (IDEA-144463)

This commit is contained in:
Anna Kozlova
2015-10-02 12:05:27 +02:00
parent 405fef8d69
commit 197110ff95
4 changed files with 40 additions and 11 deletions
@@ -0,0 +1,21 @@
import java.util.ArrayList;
import java.util.List;
class Test {
public static class Foo<T> {
public void set(Iterable<T> v) {
System.out.println(v);
}
public <Y extends List<T>> void set(Y v) {
System.out.println(v);
}
}
static void main(Foo<Double> doubleFoo, ArrayList<Double> data) {
doubleFoo.set(data);
}
}
@@ -159,6 +159,10 @@ public class OverloadResolutionTest extends LightDaemonAnalyzerTestCase {
doTest();
}
public void testSiteSubstituteTypeParameterBoundsWhenCheckForMostSpecific() throws Exception {
doTest();
}
private void doTest() {
doTest(true);
}