[Analysis API] Add containing declarations test with class name clash

Code in 'checkContainingJvmClassName()' is adapted as it contradicted
with the K2 implementation
(see KaFirJavaInteroperabilityComponent.getContainingJvmClassName).

^KT-67963
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
index b43793f..c13053c 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
@@ -46,6 +46,12 @@
   }
 
   @Test
+  @TestMetadata("classNameClash.kt")
+  public void testClassNameClash() {
+    runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classNameClash.kt");
+  }
+
+  @Test
   @TestMetadata("classes.kt")
   public void testClasses() {
     runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classes.kt");
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
index 899f72c..c42b28b 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
@@ -46,6 +46,12 @@
   }
 
   @Test
+  @TestMetadata("classNameClash.kt")
+  public void testClassNameClash() {
+    runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classNameClash.kt");
+  }
+
+  @Test
   @TestMetadata("classes.kt")
   public void testClasses() {
     runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classes.kt");
diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/symbols/symbolTestUtils.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/symbols/symbolTestUtils.kt
index 6dd0e84..cb67ea4 100644
--- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/symbols/symbolTestUtils.kt
+++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/symbols/symbolTestUtils.kt
@@ -8,6 +8,8 @@
 import org.jetbrains.kotlin.analysis.api.KaSession
 import org.jetbrains.kotlin.analysis.api.symbols.KaCallableSymbol
 import org.jetbrains.kotlin.analysis.api.symbols.KaFileSymbol
+import org.jetbrains.kotlin.analysis.api.symbols.KaFunctionSymbol
+import org.jetbrains.kotlin.analysis.api.symbols.KaParameterSymbol
 import org.jetbrains.kotlin.analysis.api.symbols.KaSymbol
 import org.jetbrains.kotlin.analysis.api.symbols.KaSymbolOrigin
 import org.jetbrains.kotlin.analysis.api.symbols.isLocal
@@ -35,17 +37,17 @@
     symbol: KaCallableSymbol,
     testServices: TestServices
 ) {
-    if (ktFile.isScript()) return
-    val expectedClassName = when {
-        symbol.isLocal ->
-            null
-        ktClass != null ->
-            // member
-            ktClass.getClassId()?.asFqNameString()
-        else ->
-            // top-level
-            ktFile.javaFileFacadeFqName.asString()
+    fun KaCallableSymbol.computeExpectedJvmClassName(): String? {
+        return when {
+            this is KaParameterSymbol -> (containingSymbol as KaFunctionSymbol).computeExpectedJvmClassName()
+            this.isLocal -> null
+            ktClass != null -> ktClass.getClassId()?.asFqNameString() // Member
+            else -> ktFile.javaFileFacadeFqName.asString() // Top-level
+        }
     }
+
+    if (ktFile.isScript()) return
+    val expectedClassName = symbol.computeExpectedJvmClassName()
     val actualClassName = symbol.containingJvmClassName
     testServices.assertions.assertEquals(expectedClassName, actualClassName) {
         "Invalid JvmClassName for $symbol, expected $expectedClassName but $actualClassName found"
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
index 3ea349c..db90572 100644
--- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
+++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByPsiTestGenerated.java
@@ -46,6 +46,12 @@
   }
 
   @Test
+  @TestMetadata("classNameClash.kt")
+  public void testClassNameClash() {
+    runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classNameClash.kt");
+  }
+
+  @Test
   @TestMetadata("classes.kt")
   public void testClasses() {
     runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classes.kt");
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classNameClash.kt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classNameClash.kt
new file mode 100644
index 0000000..e63c0bc
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByPsi/classNameClash.kt
@@ -0,0 +1,3 @@
+class A(val x: Int) {}
+
+open class A()
\ No newline at end of file