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