FIR: support proper argument mapping for substitution overrides

Related to KT-52762
This commit is contained in:
Mikhail Glukhikh
2022-06-20 11:09:32 +02:00
committed by teamcity
parent a3ee2d7349
commit 481607df43
2 changed files with 2 additions and 3 deletions
@@ -383,8 +383,7 @@ private class FirCallArgumentsProcessor(
addDiagnostic(NameNotFound(argument, function)) addDiagnostic(NameNotFound(argument, function))
} }
} else { } else {
// TODO: should we check also substitution overrides? Performance! if (symbol != null && function.isSubstitutionOrIntersectionOverride) {
if (symbol != null && function.isIntersectionOverride) {
matchedIndex = parameters.indexOfFirst { originalParameter -> matchedIndex = parameters.indexOfFirst { originalParameter ->
originalParameter.name == argument.name originalParameter.name == argument.name
} }
@@ -10,6 +10,6 @@ interface C<U> : A<U>, B<U> { // Warning here, this is correct
} }
fun test(c: C<Int>) { fun test(c: C<Int>) {
c.foo(a = 1) c.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>a<!> = 1)
c.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>b<!> = 1) c.foo(<!NAME_FOR_AMBIGUOUS_PARAMETER!>b<!> = 1)
} }