diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt index 54122356f42..3f97f8e6e6e 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt @@ -482,22 +482,63 @@ internal class KtSymbolByFirBuilder private constructor( } } + /** + * N.B. This functions lifts only a single layer of SUBSTITUTION_OVERRIDE at a time. + */ + private inline fun T.unwrapSubstitutionOverrideIfNeeded(): T? { + unwrapUseSiteSubstitutionOverride()?.let { return it } + + unwrapInheritanceSubstitutionOverrideIfNeeded()?.let { return it } + + return null + } + + /** + * Use-site substitution override happens in situations like this: + * + * ``` + * interface List { fun get(i: Int): A } + * + * fun take(list: List) { + * list.get(10) // this call + * } + * ``` + * + * In FIR, `List::get` symbol in the example will be a substitution override with a `String` instead of `A`. + * We want to lift such substitution overrides. + * + * @receiver A declaration that needs to be unwrapped. + * @return An unsubstituted declaration ([originalForSubstitutionOverride]]) if [this] is a use-site substitution override. + */ + private inline fun T.unwrapUseSiteSubstitutionOverride(): T? { + val originalDeclaration = originalForSubstitutionOverride ?: return null + + val containingClass = getContainingClass(rootSession) ?: return null + val originalContainingClass = originalDeclaration.getContainingClass(rootSession) ?: return null + + // If substitution override does not change the containing class of the FIR declaration, + // it is a use-site substitution override + if (containingClass != originalContainingClass) return null + + return originalDeclaration + } + /** * We want to unwrap a SUBSTITUTION_OVERRIDE wrapper if it doesn't affect the declaration's signature in any way. If the signature * is somehow changed, then we want to keep the wrapper. * + * Such substitute overrides happen because of inheritance. + * * If the declaration references only its own type parameters, or parameters from the outer declarations, then * we consider that it's signature will not be changed by the SUBSTITUTION_OVERRIDE, so the wrapper can be unwrapped. * * This have a few caveats when it comes to the inner classes. TODO Provide a reference to some more in-detail description of that. * - * N.B. This functions lifts only a single layer of SUBSTITUTION_OVERRIDE at a time. - * * @receiver A declaration that needs to be unwrapped. * @return An unsubstituted declaration ([originalForSubstitutionOverride]]) if it exists and if it does not have any change * in signature; `null` otherwise. */ - private inline fun T.unwrapSubstitutionOverrideIfNeeded(): T? { + private inline fun T.unwrapInheritanceSubstitutionOverrideIfNeeded(): T? { val containingClass = getContainingClass(rootSession) ?: return null val originalDeclaration = originalForSubstitutionOverride ?: return null diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention.descriptors.txt deleted file mode 100644 index 51ad3dc010e..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention.descriptors.txt +++ /dev/null @@ -1,61 +0,0 @@ -KtSuccessCallInfo: - call = KtCompoundArrayAccessCall: - compoundAccess = CompoundAssign: - kind = PLUS_ASSIGN - operand = 1 - operationPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m["a"] - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = kotlin/Int.plus(: kotlin.Int, other: kotlin.Int): kotlin.Int - valueParameters = [ - KtVariableLikeSignature: - name = other - receiverType = null - returnType = kotlin.Int - symbol = other: kotlin.Int - ] - getPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: K): V - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K - ] - indexArguments = [ - "a" - ] - setPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Unit - symbol = /MyMap.set(: MyMap, k: K, v: V): kotlin.Unit - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K, - KtVariableLikeSignature: - name = v - receiverType = null - returnType = kotlin.Int - symbol = v: V - ] \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention.txt index 15f26c36493..d2a600fb641 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention.txt @@ -27,13 +27,13 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K): V valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K ] indexArguments = [ "a" @@ -46,16 +46,16 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = /MyMap.set(: MyMap, k: kotlin.String, v: kotlin.Int): kotlin.Unit + symbol = /MyMap.set(: MyMap, k: K, v: V): kotlin.Unit valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String, + symbol = k: K, KtVariableLikeSignature: name = v receiverType = null returnType = kotlin.Int - symbol = v: kotlin.Int + symbol = v: V ] diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_complexReceivers.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_complexReceivers.txt index 3a3e457d470..9fd8689ef05 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_complexReceivers.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_complexReceivers.txt @@ -27,13 +27,13 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K1): V1 valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K1 ] indexArguments = [ "a" diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_lhs.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_lhs.descriptors.txt deleted file mode 100644 index ddcb304fcef..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_lhs.descriptors.txt +++ /dev/null @@ -1,26 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = false - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: K): V - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K - ] - argumentMapping = { - "a" -> (KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_lhs.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_lhs.txt index 3197a7c3bb8..40c3e5fbd61 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_lhs.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayAccessConvention_lhs.txt @@ -9,18 +9,18 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K): V valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K ] argumentMapping = { "a" -> (KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String) + symbol = k: K) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayGetConvention_lhs.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayGetConvention_lhs.descriptors.txt deleted file mode 100644 index 057bf7c95c0..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayGetConvention_lhs.descriptors.txt +++ /dev/null @@ -1,26 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = false - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = A - symbol = /MyMap.get(: MyMap, k: K): V - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K - ] - argumentMapping = { - "a" -> (KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayGetConvention_lhs.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayGetConvention_lhs.txt index 5a57f999fb7..8f4a1d21368 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayGetConvention_lhs.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/compoundAssignWithArrayGetConvention_lhs.txt @@ -9,18 +9,18 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = A - symbol = /MyMap.get(: MyMap, k: kotlin.String): A + symbol = /MyMap.get(: MyMap, k: K): V valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K ] argumentMapping = { "a" -> (KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String) + symbol = k: K) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_dispatchReceiver.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_dispatchReceiver.txt index e057691ffae..ac44ea88137 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_dispatchReceiver.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_dispatchReceiver.txt @@ -11,12 +11,12 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: kotlin.String): kotlin.Unit + symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: P1): R valueParameters = [ KtVariableLikeSignature: name = p1 receiverType = null returnType = kotlin.String - symbol = p1: kotlin.String + symbol = p1: P1 ] argumentMapping = {} diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_extensionReceiver.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_extensionReceiver.txt index e057691ffae..ac44ea88137 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_extensionReceiver.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/functionTypeVariableCall_extensionReceiver.txt @@ -11,12 +11,12 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: kotlin.String): kotlin.Unit + symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: P1): R valueParameters = [ KtVariableLikeSignature: name = p1 receiverType = null returnType = kotlin.String - symbol = p1: kotlin.String + symbol = p1: P1 ] argumentMapping = {} diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention.descriptors.txt deleted file mode 100644 index bce37e8ef91..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention.descriptors.txt +++ /dev/null @@ -1,55 +0,0 @@ -KtSuccessCallInfo: - call = KtCompoundArrayAccessCall: - compoundAccess = IncOrDecOperation: - kind = INC - precedence = POSTFIX - operationPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m["a"] - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = kotlin/Int.inc(: kotlin.Int): kotlin.Int - valueParameters = [] - getPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: K): V - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K - ] - indexArguments = [ - "a" - ] - setPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Unit - symbol = /MyMap.set(: MyMap, k: K, v: V): kotlin.Unit - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K, - KtVariableLikeSignature: - name = v - receiverType = null - returnType = kotlin.Int - symbol = v: V - ] \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention.txt index 3252c029903..ee36767761b 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention.txt @@ -21,13 +21,13 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K): V valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K ] indexArguments = [ "a" @@ -40,16 +40,16 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = /MyMap.set(: MyMap, k: kotlin.String, v: kotlin.Int): kotlin.Unit + symbol = /MyMap.set(: MyMap, k: K, v: V): kotlin.Unit valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String, + symbol = k: K, KtVariableLikeSignature: name = v receiverType = null returnType = kotlin.Int - symbol = v: kotlin.Int + symbol = v: V ] diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_base.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_base.descriptors.txt deleted file mode 100644 index ddcb304fcef..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_base.descriptors.txt +++ /dev/null @@ -1,26 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = false - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: K): V - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K - ] - argumentMapping = { - "a" -> (KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_base.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_base.txt index 3197a7c3bb8..40c3e5fbd61 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_base.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_base.txt @@ -9,18 +9,18 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K): V valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K ] argumentMapping = { "a" -> (KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String) + symbol = k: K) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt index b3b41039c18..e28cf89235e 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/postfixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt @@ -21,13 +21,13 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K1): V1 valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K1 ] indexArguments = [ "a" diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention.descriptors.txt deleted file mode 100644 index dd14195c128..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention.descriptors.txt +++ /dev/null @@ -1,55 +0,0 @@ -KtSuccessCallInfo: - call = KtCompoundArrayAccessCall: - compoundAccess = IncOrDecOperation: - kind = INC - precedence = PREFIX - operationPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m["a"] - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = kotlin/Int.inc(: kotlin.Int): kotlin.Int - valueParameters = [] - getPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: K): V - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K - ] - indexArguments = [ - "a" - ] - setPartiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Unit - symbol = /MyMap.set(: MyMap, k: K, v: V): kotlin.Unit - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K, - KtVariableLikeSignature: - name = v - receiverType = null - returnType = kotlin.Int - symbol = v: V - ] \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention.txt index 39837606910..dd14195c128 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention.txt @@ -21,13 +21,13 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K): V valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K ] indexArguments = [ "a" @@ -40,16 +40,16 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = /MyMap.set(: MyMap, k: kotlin.String, v: kotlin.Int): kotlin.Unit + symbol = /MyMap.set(: MyMap, k: K, v: V): kotlin.Unit valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String, + symbol = k: K, KtVariableLikeSignature: name = v receiverType = null returnType = kotlin.Int - symbol = v: kotlin.Int + symbol = v: V ] \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_base.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_base.descriptors.txt deleted file mode 100644 index ddcb304fcef..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_base.descriptors.txt +++ /dev/null @@ -1,26 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = false - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = m - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: K): V - valueParameters = [ - KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K - ] - argumentMapping = { - "a" -> (KtVariableLikeSignature: - name = k - receiverType = null - returnType = kotlin.String - symbol = k: K) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_base.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_base.txt index 3197a7c3bb8..40c3e5fbd61 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_base.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_base.txt @@ -9,18 +9,18 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K): V valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K ] argumentMapping = { "a" -> (KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String) + symbol = k: K) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt index 9808aa31222..1bd5fdb7582 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/prefixUnaryOperatorWithArrayAccessConvention_complexDispatcher.txt @@ -21,13 +21,13 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Int - symbol = /MyMap.get(: MyMap, k: kotlin.String): kotlin.Int + symbol = /MyMap.get(: MyMap, k: K1): V1 valueParameters = [ KtVariableLikeSignature: name = k receiverType = null returnType = kotlin.String - symbol = k: kotlin.String + symbol = k: K1 ] indexArguments = [ "a" diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunction.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunction.descriptors.txt deleted file mode 100644 index 8036f6aedfc..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunction.descriptors.txt +++ /dev/null @@ -1,26 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = true - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = x - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.String - symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: P1): R - valueParameters = [ - KtVariableLikeSignature: - name = p1 - receiverType = null - returnType = kotlin.Int - symbol = p1: P1 - ] - argumentMapping = { - 1 -> (KtVariableLikeSignature: - name = p1 - receiverType = null - returnType = kotlin.Int - symbol = p1: P1) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunction.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunction.txt index 38c4479331d..6120ca0fd4b 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunction.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunction.txt @@ -9,18 +9,18 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.String - symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: kotlin.Int): kotlin.String + symbol = kotlin/Function1.invoke(: kotlin.Function1, 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) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterName.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterName.descriptors.txt deleted file mode 100644 index a8656e9d50b..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterName.descriptors.txt +++ /dev/null @@ -1,36 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = true - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = x - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Unit - symbol = kotlin/Function2.invoke(: kotlin.Function2, p1: P1, p2: P2): R - valueParameters = [ - KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1, - KtVariableLikeSignature: - name = b - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: P2 - ] - argumentMapping = { - 1 -> (KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1), - "" -> (KtVariableLikeSignature: - name = b - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: P2) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterName.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterName.txt index 497d9607d16..a8656e9d50b 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterName.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterName.txt @@ -9,28 +9,28 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function2.invoke(: kotlin.Function2<@R|kotlin.ParameterName|(name = String(a)) kotlin.Int, @R|kotlin.ParameterName|(name = String(b)) kotlin.String, kotlin.Unit>, p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String): kotlin.Unit + symbol = kotlin/Function2.invoke(: kotlin.Function2, p1: P1, p2: P2): R valueParameters = [ KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, + symbol = p1: P1, KtVariableLikeSignature: name = b receiverType = null returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String + symbol = p2: P2 ] argumentMapping = { 1 -> (KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int), + symbol = p1: P1), "" -> (KtVariableLikeSignature: name = b receiverType = null returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String) + symbol = p2: P2) } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotation.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotation.descriptors.txt deleted file mode 100644 index a8656e9d50b..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotation.descriptors.txt +++ /dev/null @@ -1,36 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = true - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = x - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Unit - symbol = kotlin/Function2.invoke(: kotlin.Function2, p1: P1, p2: P2): R - valueParameters = [ - KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1, - KtVariableLikeSignature: - name = b - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: P2 - ] - argumentMapping = { - 1 -> (KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1), - "" -> (KtVariableLikeSignature: - name = b - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: P2) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotation.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotation.txt index e3dfa660f8b..a8a63678d5f 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotation.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotation.txt @@ -9,28 +9,28 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function2.invoke(: kotlin.Function2<@R|kotlin.ParameterName|(name = String(a)) kotlin.Int, @R|kotlin.ParameterName|(name = String(b)) kotlin.String, kotlin.Unit>, p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String): kotlin.Unit + symbol = kotlin/Function2.invoke(: kotlin.Function2, p1: P1, p2: P2): R valueParameters = [ KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, + symbol = p1: P1, KtVariableLikeSignature: name = b receiverType = null returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String + symbol = p2: P2 ] argumentMapping = { 1 -> (KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int), + symbol = p1: P1), "" -> (KtVariableLikeSignature: name = b receiverType = null returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String) + symbol = p2: P2) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict.txt index e3dfa660f8b..a8a63678d5f 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict.txt @@ -9,28 +9,28 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function2.invoke(: kotlin.Function2<@R|kotlin.ParameterName|(name = String(a)) kotlin.Int, @R|kotlin.ParameterName|(name = String(b)) kotlin.String, kotlin.Unit>, p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String): kotlin.Unit + symbol = kotlin/Function2.invoke(: kotlin.Function2, p1: P1, p2: P2): R valueParameters = [ KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, + symbol = p1: P1, KtVariableLikeSignature: name = b receiverType = null returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String + symbol = p2: P2 ] argumentMapping = { 1 -> (KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int), + symbol = p1: P1), "" -> (KtVariableLikeSignature: name = b receiverType = null returnType = @R|kotlin.ParameterName|(name = String(b)) kotlin.String - symbol = p2: @R|kotlin.ParameterName|(name = String(b)) kotlin.String) + symbol = p2: P2) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict2.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict2.txt index a639f235704..1bc75b818ca 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict2.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameAnnotationConflict2.txt @@ -9,18 +9,18 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function1.invoke(: kotlin.Function1<@R|kotlin.ParameterName|(name = String(first)) @R|kotlin.ParameterName|(name = String(second)) kotlin.Int, kotlin.Unit>, p1: @R|kotlin.ParameterName|(name = String(first)) @R|kotlin.ParameterName|(name = String(second)) kotlin.Int): kotlin.Unit + symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: P1): R valueParameters = [ KtVariableLikeSignature: name = first receiverType = null returnType = @R|kotlin.ParameterName|(name = String(first)) @R|kotlin.ParameterName|(name = String(second)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(first)) @R|kotlin.ParameterName|(name = String(second)) kotlin.Int + symbol = p1: P1 ] argumentMapping = { 1 -> (KtVariableLikeSignature: name = first receiverType = null returnType = @R|kotlin.ParameterName|(name = String(first)) @R|kotlin.ParameterName|(name = String(second)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(first)) @R|kotlin.ParameterName|(name = String(second)) kotlin.Int) + symbol = p1: P1) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameGeneric.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameGeneric.descriptors.txt deleted file mode 100644 index 0cf8fe53972..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameGeneric.descriptors.txt +++ /dev/null @@ -1,26 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = true - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = x - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Unit - symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: P1): R - valueParameters = [ - KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1 - ] - argumentMapping = { - 1 -> (KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameGeneric.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameGeneric.txt index ccb9f74f669..6870fe1928c 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameGeneric.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameGeneric.txt @@ -9,18 +9,18 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function1.invoke(: kotlin.Function1<@R|kotlin.ParameterName|(name = String(a)) kotlin.Int, kotlin.Unit>, p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int): kotlin.Unit + symbol = kotlin/Function1.invoke(: kotlin.Function1, p1: P1): R valueParameters = [ KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int + symbol = p1: P1 ] argumentMapping = { 1 -> (KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int) + symbol = p1: P1) } diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameMixed.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameMixed.descriptors.txt deleted file mode 100644 index 54650c7bad4..00000000000 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameMixed.descriptors.txt +++ /dev/null @@ -1,36 +0,0 @@ -KtSuccessCallInfo: - call = KtSimpleFunctionCall: - isImplicitInvoke = true - partiallyAppliedSymbol = KtPartiallyAppliedSymbol: - dispatchReceiver = KtExplicitReceiverValue: - expression = x - isSafeNavigation = false - extensionReceiver = null - signature = KtFunctionLikeSignature: - receiverType = null - returnType = kotlin.Unit - symbol = kotlin/Function2.invoke(: kotlin.Function2, p1: P1, p2: P2): R - valueParameters = [ - KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1, - KtVariableLikeSignature: - name = p2 - receiverType = null - returnType = kotlin.String - symbol = p2: P2 - ] - argumentMapping = { - 1 -> (KtVariableLikeSignature: - name = a - receiverType = null - returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: P1), - "" -> (KtVariableLikeSignature: - name = p2 - receiverType = null - returnType = kotlin.String - symbol = p2: P2) - } \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameMixed.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameMixed.txt index aaa25373d57..28fbf9c7648 100644 --- a/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameMixed.txt +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/variableAsFunctionWithParameterNameMixed.txt @@ -9,28 +9,28 @@ KtSuccessCallInfo: signature = KtFunctionLikeSignature: receiverType = null returnType = kotlin.Unit - symbol = kotlin/Function2.invoke(: kotlin.Function2<@R|kotlin.ParameterName|(name = String(a)) kotlin.Int, kotlin.String, kotlin.Unit>, p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, p2: kotlin.String): kotlin.Unit + symbol = kotlin/Function2.invoke(: kotlin.Function2, p1: P1, p2: P2): R valueParameters = [ KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int, + symbol = p1: P1, KtVariableLikeSignature: name = p2 receiverType = null returnType = kotlin.String - symbol = p2: kotlin.String + symbol = p2: P2 ] argumentMapping = { 1 -> (KtVariableLikeSignature: name = a receiverType = null returnType = @R|kotlin.ParameterName|(name = String(a)) kotlin.Int - symbol = p1: @R|kotlin.ParameterName|(name = String(a)) kotlin.Int), + symbol = p1: P1), "" -> (KtVariableLikeSignature: name = p2 receiverType = null returnType = kotlin.String - symbol = p2: kotlin.String) + symbol = p2: P2) } diff --git a/analysis/analysis-api/testData/referenceResolve/arrayAccess/get.txt b/analysis/analysis-api/testData/referenceResolve/arrayAccess/get.txt index efc141b83fd..f14bf51e2a5 100644 --- a/analysis/analysis-api/testData/referenceResolve/arrayAccess/get.txt +++ b/analysis/analysis-api/testData/referenceResolve/arrayAccess/get.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in kotlin.collections.MutableList) operator fun get(index: kotlin.Int): kotlin.Int +0: (in kotlin.collections.MutableList) operator fun get(index: kotlin.Int): E \ No newline at end of file diff --git a/analysis/analysis-api/testData/referenceResolve/arrayAccess/set.txt b/analysis/analysis-api/testData/referenceResolve/arrayAccess/set.txt index 8d337054aa5..3862e2970c5 100644 --- a/analysis/analysis-api/testData/referenceResolve/arrayAccess/set.txt +++ b/analysis/analysis-api/testData/referenceResolve/arrayAccess/set.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in kotlin.collections.MutableList) operator fun set(index: kotlin.Int, element: kotlin.Int): kotlin.Int +0: (in kotlin.collections.MutableList) operator fun set(index: kotlin.Int, element: E): E \ No newline at end of file diff --git a/analysis/analysis-api/testData/referenceResolve/forLoopIn/inBuiltIns/extension.txt b/analysis/analysis-api/testData/referenceResolve/forLoopIn/inBuiltIns/extension.txt index ea194dd613b..3591db31cc0 100644 --- a/analysis/analysis-api/testData/referenceResolve/forLoopIn/inBuiltIns/extension.txt +++ b/analysis/analysis-api/testData/referenceResolve/forLoopIn/inBuiltIns/extension.txt @@ -1,4 +1,4 @@ Resolved to: 0: (in kotlin.collections) inline operator fun kotlin.collections.Iterator.iterator(): kotlin.collections.Iterator 1: (in kotlin.collections.Iterator) operator fun hasNext(): kotlin.Boolean -2: (in kotlin.collections.Iterator) operator fun next(): kotlin.Any +2: (in kotlin.collections.Iterator) operator fun next(): T \ No newline at end of file