From 93f560eb4da8ca73a2bfe76c98697a97a06093cb Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Mon, 14 Nov 2022 13:50:45 +0100 Subject: [PATCH] [Analysis API] Add call resolution tests for KTIJ-23373 - The Java functions aren't recognized as candidates during the test (`FULL_JDK` isn't helping), so I've replicated the tests with local extension functions and confirmed that they uncover the same exception. --- ...eModuleResolveCandidatesTestGenerated.java | 12 + ...eModuleResolveCandidatesTestGenerated.java | 12 + ...eModuleResolveCandidatesTestGenerated.java | 12 + .../forEach.descriptors.txt | 726 +++++++++ .../multipleCandidates/forEach.kt | 10 + .../multipleCandidates/forEach.txt | 68 + .../groupBy.descriptors.txt | 1413 +++++++++++++++++ .../multipleCandidates/groupBy.kt | 11 + .../multipleCandidates/groupBy.txt | 129 ++ 9 files changed, 2393 insertions(+) create mode 100644 analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.descriptors.txt create mode 100644 analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.kt create mode 100644 analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.txt create mode 100644 analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.descriptors.txt create mode 100644 analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.kt create mode 100644 analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.txt diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java index 7243ec11335..54833a576f7 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java @@ -85,6 +85,18 @@ public class Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated ext runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/delegatedConstructor.kt"); } + @Test + @TestMetadata("forEach.kt") + public void testForEach() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.kt"); + } + + @Test + @TestMetadata("groupBy.kt") + public void testGroupBy() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.kt"); + } + @Test @TestMetadata("implicitInvoke.kt") public void testImplicitInvoke() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java index b699f83c4a3..d61472a9f42 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java @@ -85,6 +85,18 @@ public class FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated exte runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/delegatedConstructor.kt"); } + @Test + @TestMetadata("forEach.kt") + public void testForEach() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.kt"); + } + + @Test + @TestMetadata("groupBy.kt") + public void testGroupBy() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.kt"); + } + @Test @TestMetadata("implicitInvoke.kt") public void testImplicitInvoke() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java index aea62098cad..be60f27c24c 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java @@ -85,6 +85,18 @@ public class FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerat runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/delegatedConstructor.kt"); } + @Test + @TestMetadata("forEach.kt") + public void testForEach() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.kt"); + } + + @Test + @TestMetadata("groupBy.kt") + public void testGroupBy() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.kt"); + } + @Test @TestMetadata("implicitInvoke.kt") public void testImplicitInvoke() throws Exception { diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.descriptors.txt new file mode 100644 index 00000000000..1872c395456 --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.descriptors.txt @@ -0,0 +1,726 @@ +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.Array + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.Array, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = { + T -> (ERROR_TYPE) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.BooleanArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.BooleanArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.ByteArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.ByteArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.CharArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.CharArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.CharSequence + returnType = kotlin.Unit + symbol = kotlin/text/forEach(: kotlin.CharSequence, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/text/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.DoubleArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.DoubleArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.FloatArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.FloatArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.IntArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.IntArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.LongArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.LongArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.ShortArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.ShortArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.UByteArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.UByteArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.UIntArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.UIntArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.ULongArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.ULongArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.UShortArray + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.UShortArray, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtApplicableCallCandidateInfo: + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterable + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.collections.Iterable, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = { + T -> (kotlin.Int) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = true + +KtApplicableCallCandidateInfo: + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterable + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.collections.Iterable, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = { + T -> (kotlin.Int) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = true + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterator + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.collections.Iterator, operation: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = operation + receiverType = null + returnType = kotlin.Function1 + symbol = operation: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = { + T -> (ERROR_TYPE) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = operation + receiverType = null + returnType = kotlin.Function1 + symbol = operation: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtApplicableCallCandidateInfo: + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.List + returnType = kotlin.Unit + symbol = /forEach(: kotlin.collections.List, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = /forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Map + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.collections.Map, action: kotlin.Function1, kotlin.Unit>): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1, kotlin.Unit> + symbol = action: kotlin.Function1, kotlin.Unit> + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1, kotlin.Unit> + symbol = action: kotlin.Function1, kotlin.Unit> + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Map + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.collections.Map, action: kotlin.Function1, kotlin.Unit>): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1, kotlin.Unit> + symbol = action: kotlin.Function1, kotlin.Unit> + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1, kotlin.Unit> + symbol = action: kotlin.Function1, kotlin.Unit> + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.sequences.Sequence + returnType = kotlin.Unit + symbol = kotlin/sequences/forEach(: kotlin.sequences.Sequence, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/sequences/forEach + typeArgumentsMapping = { + T -> (ERROR_TYPE) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.kt b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.kt new file mode 100644 index 00000000000..46365bfe652 --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.kt @@ -0,0 +1,10 @@ +// See: KTIJ-23373 +// WITH_STDLIB + +fun List.forEach(action: (Int) -> Unit) { + for (e in this) action(e) +} + +fun test() { + listOf(1, 2, 3).forEach { } +} \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.txt b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.txt new file mode 100644 index 00000000000..00a63bcda4c --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/forEach.txt @@ -0,0 +1,68 @@ +KtApplicableCallCandidateInfo: + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterable + returnType = kotlin.Unit + symbol = kotlin/collections/forEach(: kotlin.collections.Iterable, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/forEach + typeArgumentsMapping = { + T -> (kotlin.Int) + } + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = true + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR.forEach(action: (Int) -> Unit): Unit> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = listOf(1, 2, 3) + isSafeNavigation = false + type = kotlin.collections.List + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.List + returnType = kotlin.Unit + symbol = /forEach(: kotlin.collections.List, action: kotlin.Function1): kotlin.Unit + valueParameters = [ + KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = /forEach + typeArgumentsMapping = {} + argumentMapping = { + { } -> (KtVariableLikeSignature: + name = action + receiverType = null + returnType = kotlin.Function1 + symbol = action: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.descriptors.txt b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.descriptors.txt new file mode 100644 index 00000000000..cb1ae171f4e --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.descriptors.txt @@ -0,0 +1,1413 @@ +KtInapplicableCallCandidateInfo: + diagnostic = ERROR Array.groupBy(keySelector: (T) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.Array + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.Array, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + T -> (ERROR_TYPE), + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.Array + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.Array, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + T -> (ERROR_TYPE), + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.BooleanArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.BooleanArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR BooleanArray.groupBy(keySelector: (Boolean) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.BooleanArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.BooleanArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.ByteArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.ByteArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR ByteArray.groupBy(keySelector: (Byte) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.ByteArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.ByteArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.CharArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.CharArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR CharArray.groupBy(keySelector: (Char) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.CharArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.CharArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.CharSequence + returnType = kotlin.collections.Map> + symbol = kotlin/text/groupBy(: kotlin.CharSequence, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/text/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR CharSequence.groupBy(keySelector: (Char) -> K): Map> defined in kotlin.text> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.CharSequence + returnType = kotlin.collections.Map> + symbol = kotlin/text/groupBy(: kotlin.CharSequence, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/text/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.DoubleArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.DoubleArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR DoubleArray.groupBy(keySelector: (Double) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.DoubleArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.DoubleArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.FloatArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.FloatArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR FloatArray.groupBy(keySelector: (Float) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.FloatArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.FloatArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.IntArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.IntArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR IntArray.groupBy(keySelector: (Int) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.IntArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.IntArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.LongArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.LongArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR LongArray.groupBy(keySelector: (Long) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.LongArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.LongArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.ShortArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.ShortArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR ShortArray.groupBy(keySelector: (Short) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.ShortArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.ShortArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.UByteArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.UByteArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR UByteArray.groupBy(keySelector: (UByte) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.UByteArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.UByteArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.UIntArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.UIntArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR UIntArray.groupBy(keySelector: (UInt) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.UIntArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.UIntArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.ULongArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.ULongArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR ULongArray.groupBy(keySelector: (ULong) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.ULongArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.ULongArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.UShortArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.UShortArray, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR UShortArray.groupBy(keySelector: (UShort) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.UShortArray + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.UShortArray, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterable> + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.collections.Iterable, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + T -> (kotlin.collections.IndexedValue), + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = true + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR Iterable.groupBy(keySelector: (T) -> K): Map> defined in kotlin.collections> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterable> + returnType = kotlin.collections.Map>> + symbol = kotlin/collections/groupBy(: kotlin.collections.Iterable, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + T -> (kotlin.collections.IndexedValue), + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.List> + returnType = kotlin.collections.Map> + symbol = /groupBy(: kotlin.collections.List>, keySelector: kotlin.Function1, K>, valueTransform: kotlin.Function1, kotlin.Int>): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = keySelector: kotlin.Function1, K> + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = valueTransform: kotlin.Function1, kotlin.Int> + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = /groupBy + typeArgumentsMapping = { + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, ERROR_TYPE> + symbol = keySelector: kotlin.Function1, K> + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = valueTransform: kotlin.Function1, kotlin.Int> + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR Sequence.groupBy(keySelector: (T) -> K): Map> defined in kotlin.sequences> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.sequences.Sequence + returnType = kotlin.collections.Map> + symbol = kotlin/sequences/groupBy(: kotlin.sequences.Sequence, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/sequences/groupBy + typeArgumentsMapping = { + T -> (ERROR_TYPE), + K -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.sequences.Sequence + returnType = kotlin.collections.Map> + symbol = kotlin/sequences/groupBy(: kotlin.sequences.Sequence, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/sequences/groupBy + typeArgumentsMapping = { + T -> (ERROR_TYPE), + K -> (ERROR_TYPE), + V -> (ERROR_TYPE) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1 + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1 + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.kt b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.kt new file mode 100644 index 00000000000..91cf04c5130 --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.kt @@ -0,0 +1,11 @@ +// See: KTIJ-21506 +// WITH_STDLIB + +fun List>.groupBy( + keySelector: (Pair) -> K, + valueTransform: (Pair) -> Int, +): Map> = mapOf() // The result is irrelevant for the test. + +fun test(nums: IntArray) { + nums.withIndex().groupBy({ (_, value) -> value }) { (idx, _) -> idx } +} \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.txt b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.txt new file mode 100644 index 00000000000..559bf0df790 --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCandidates/multipleCandidates/groupBy.txt @@ -0,0 +1,129 @@ +KtApplicableCallCandidateInfo: + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterable> + returnType = kotlin.collections.Map> + symbol = kotlin/collections/groupBy(: kotlin.collections.Iterable, keySelector: kotlin.Function1, valueTransform: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = { + T -> (kotlin.collections.IndexedValue), + K -> (kotlin.Int), + V -> (kotlin.Int) + } + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = valueTransform: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = true + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR R|kotlin/collections/Iterable|.kotlin/collections/groupBy(keySelector: R|(T) -> K|): R|kotlin/collections/Map>| + > + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.Iterable> + returnType = kotlin.collections.Map>> + symbol = kotlin/collections/groupBy(: kotlin.collections.Iterable, keySelector: kotlin.Function1): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = kotlin/collections/groupBy + typeArgumentsMapping = {} + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = keySelector: kotlin.Function1 + callableIdIfNonLocal = null) + } + isInBestCandidates = false + +KtInapplicableCallCandidateInfo: + diagnostic = ERROR List>.groupBy(keySelector: (Pair) -> K, valueTransform: (Pair) -> Int): Map>> + candidate = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = null + extensionReceiver = KtExplicitReceiverValue: + expression = nums.withIndex() + isSafeNavigation = false + type = kotlin.collections.Iterable> + signature = KtFunctionLikeSignature: + receiverType = kotlin.collections.List> + returnType = kotlin.collections.Map, kotlin.collections.List> + symbol = /groupBy(: kotlin.collections.List>, keySelector: kotlin.Function1, K>, valueTransform: kotlin.Function1, kotlin.Int>): kotlin.collections.Map> + valueParameters = [ + KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, kotlin.collections.IndexedValue> + symbol = keySelector: kotlin.Function1, K> + callableIdIfNonLocal = null, + KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = valueTransform: kotlin.Function1, kotlin.Int> + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = /groupBy + typeArgumentsMapping = {} + argumentMapping = { + { (_, value) -> value } -> (KtVariableLikeSignature: + name = keySelector + receiverType = null + returnType = kotlin.Function1, kotlin.collections.IndexedValue> + symbol = keySelector: kotlin.Function1, K> + callableIdIfNonLocal = null), + { (idx, _) -> idx } -> (KtVariableLikeSignature: + name = valueTransform + receiverType = null + returnType = kotlin.Function1, kotlin.Int> + symbol = valueTransform: kotlin.Function1, kotlin.Int> + callableIdIfNonLocal = null) + } + isInBestCandidates = false