AA: regression test for default value that calls previous params
diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java index e62a412..c8a08c5 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/callResolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
@@ -347,6 +347,12 @@ } @Test + @TestMetadata("defaultValueThatCallsPreviousParameter.kt") + public void testDefaultValueThatCallsPreviousParameter() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.kt"); + } + + @Test @TestMetadata("delegatedConstructorCall_super.kt") public void testDelegatedConstructorCall_super() throws Exception { runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/delegatedConstructorCall_super.kt");
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java index 2b71e5a..46e26c1 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/callResolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
@@ -347,6 +347,12 @@ } @Test + @TestMetadata("defaultValueThatCallsPreviousParameter.kt") + public void testDefaultValueThatCallsPreviousParameter() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.kt"); + } + + @Test @TestMetadata("delegatedConstructorCall_super.kt") public void testDelegatedConstructorCall_super() throws Exception { runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/delegatedConstructorCall_super.kt");
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java index 6662ee5..1eb501c 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/callResolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java
@@ -347,6 +347,12 @@ } @Test + @TestMetadata("defaultValueThatCallsPreviousParameter.kt") + public void testDefaultValueThatCallsPreviousParameter() throws Exception { + runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.kt"); + } + + @Test @TestMetadata("delegatedConstructorCall_super.kt") public void testDelegatedConstructorCall_super() throws Exception { runTest("analysis/analysis-api/testData/components/callResolver/resolveCall/delegatedConstructorCall_super.kt");
diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.kt b/analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.kt new file mode 100644 index 0000000..cdf6a33 --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.kt
@@ -0,0 +1,37 @@ +// Lint regression test from https://issuetracker.google.com/127955232 + +// FILE: call.kt + +package com.example.myapplication + +import test.pkg.Context +import test.pkg.R + +data class Test( + val context: Context, + val testInt: Int, + val testString: String = context.<expr>getString</expr>(if (testInt == 0) R.string.test_string_1 else R.string.test_string_2)) +) + +// FILE: Context.java + +package test.pkg; + +public final class Context { + public String getString(int id) { + if (id == R.string.test_string_1) return "id1" + if (id == R.string.test_string_2) return "id2" + return ""; + } +} + +// FILE: R.java + +package test.pkg; + +public final class R { + public static final class string { + public static final int test_string_1 = 0x7f0a000e; + public static final int test_string_2 = 0x7f020057; + } +}
diff --git a/analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.txt b/analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.txt new file mode 100644 index 0000000..aee51ee --- /dev/null +++ b/analysis/analysis-api/testData/components/callResolver/resolveCall/defaultValueThatCallsPreviousParameter.txt
@@ -0,0 +1,31 @@ +KtSuccessCallInfo: + call = KtSimpleFunctionCall: + isImplicitInvoke = false + partiallyAppliedSymbol = KtPartiallyAppliedSymbol: + dispatchReceiver = KtExplicitReceiverValue: + expression = context + isSafeNavigation = false + type = test.pkg.Context + extensionReceiver = null + signature = KtFunctionLikeSignature: + receiverType = null + returnType = kotlin.String! + symbol = test/pkg/Context.getString(<dispatch receiver>: test.pkg.Context, id: kotlin.Int): kotlin.String! + valueParameters = [ + KtVariableLikeSignature: + name = id + receiverType = null + returnType = kotlin.Int + symbol = id: kotlin.Int + callableIdIfNonLocal = null + ] + callableIdIfNonLocal = test/pkg/Context.getString + typeArgumentsMapping = {} + argumentMapping = { + if (testInt == 0) R.string.test_string_1 else R.string.test_string_2 -> (KtVariableLikeSignature: + name = id + receiverType = null + returnType = kotlin.Int + symbol = id: kotlin.Int + callableIdIfNonLocal = null) + } \ No newline at end of file