improve diagnostic for KT-9484 Don't allow named arguments for inherited functions with parameter name conflicts

#KT-9484 Fixed
This commit is contained in:
Michael Nedzelsky
2015-10-13 16:14:51 +03:00
parent d05a7224c7
commit 27b13dda65
7 changed files with 60 additions and 3 deletions
@@ -10,6 +10,18 @@ interface B {
<!DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES!>interface D<!> : B, A
fun foo(x : C, y : D){
x.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>x<!> = 0)
x.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>y<!> = 0)
y.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>x<!> = 0)
y.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>y<!> = 0)
}
abstract <!DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES!>class C1<!> : A, B
abstract <!DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES!>class D1<!> : A, B
fun bar(x : C1, y : D1){
x.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>x<!> = 0)
x.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>y<!> = 0)
y.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>x<!> = 0)
y.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>y<!> = 0)
}