overload resolution: don't ignore method with incorrect number of parameters when it overrides vararg method (IDEA-165829)

This commit is contained in:
Anna.Kozlova
2016-12-27 11:22:32 +01:00
parent 6cdca2a38c
commit 8f533a3edc
3 changed files with 38 additions and 6 deletions

View File

@@ -0,0 +1,15 @@
interface TypeA {
void test(String... arg);
}
interface TypeB extends TypeA {
void test(String[] arg);
}
class Test {
void foo(final TypeB typeB) {
typeB.test<error descr="'test(java.lang.String[])' in 'TypeB' cannot be applied to '(java.lang.String, java.lang.String)'">("a", "b")</error>;
typeB.test<error descr="'test(java.lang.String[])' in 'TypeB' cannot be applied to '(java.lang.String)'">("a")</error>;
typeB.test<error descr="'test(java.lang.String[])' in 'TypeB' cannot be applied to '()'">()</error>;
}
}