KT-50862 Unwrap use-site substitution overrides

Use-site substitution override happens in situations like this:

```
interface List<A> { fun get(i: Int): A }

fun take(list: List<String>) {
  list.get(10) // this call
}
```

We want to have those overrides unwrapped, because we don't want
to deal with a different KtSymbol for each possible use-site

^KT-50862 Fixed
This commit is contained in:
Roman Golyshev
2022-01-27 19:55:53 +03:00
committed by Space
parent 564e408434
commit f0f2f67024
35 changed files with 113 additions and 507 deletions
@@ -9,18 +9,18 @@ KtSuccessCallInfo:
signature = KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.String
symbol = kotlin/Function1.invoke(<dispatch receiver>: kotlin.Function1<kotlin.Int, kotlin.String>, p1: kotlin.Int): kotlin.String
symbol = kotlin/Function1.invoke(<dispatch receiver>: kotlin.Function1<P1, R>, p1: P1): R
valueParameters = [
KtVariableLikeSignature:
name = p1
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int
symbol = p1: P1
]
argumentMapping = {
1 -> (KtVariableLikeSignature:
name = p1
receiverType = null
returnType = kotlin.Int
symbol = p1: kotlin.Int)
symbol = p1: P1)
}