[Analysis API] Fix function parameter name retrieval in `KaFe10FunctionType.parameters`

The previous implementation contained a bug, which allowed non-parameter-name annotations on parameter types to affect the resulting parameter name.

^KT-71876
diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/types/KaFe10FunctionType.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/types/KaFe10FunctionType.kt
index 053aca7..b317763 100644
--- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/types/KaFe10FunctionType.kt
+++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/types/KaFe10FunctionType.kt
@@ -6,7 +6,6 @@
 package org.jetbrains.kotlin.analysis.api.descriptors.types
 
 import org.jetbrains.kotlin.analysis.api.KaExperimentalApi
-import org.jetbrains.kotlin.analysis.api.annotations.KaAnnotationValue
 import org.jetbrains.kotlin.analysis.api.base.KaContextReceiver
 import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
 import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KaFe10DescNamedClassSymbol
@@ -27,7 +26,6 @@
 import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor
 import org.jetbrains.kotlin.builtins.functions.isSuspendOrKSuspendFunction
 import org.jetbrains.kotlin.name.ClassId
-import org.jetbrains.kotlin.name.Name
 import org.jetbrains.kotlin.types.SimpleType
 import org.jetbrains.kotlin.types.getAbbreviation
 
@@ -100,13 +98,7 @@
     override val parameters: List<KaFunctionValueParameter>
         get() = withValidityAssertion {
             parameterTypes.map { type ->
-                val name = type.annotations.firstNotNullOfOrNull { annotation ->
-                    (annotation.arguments.firstOrNull { it.name == StandardNames.NAME }?.expression as? KaAnnotationValue.ConstantValue)
-                        ?.value?.value as? String
-                }?.let {
-                    Name.identifier(it)
-                }
-
+                val name = (type as KaFe10Type).fe10Type.extractParameterNameFromFunctionTypeArgument()
                 KaBaseFunctionValueParameter(name, type)
             }
         }
diff --git a/analysis/analysis-api/testData/types/byDeclarationReturnType/functionWithAnnotationOnParameterType.descriptors.txt b/analysis/analysis-api/testData/types/byDeclarationReturnType/functionWithAnnotationOnParameterType.descriptors.txt
index 87ceb82..b59e8ce 100644
--- a/analysis/analysis-api/testData/types/byDeclarationReturnType/functionWithAnnotationOnParameterType.descriptors.txt
+++ b/analysis/analysis-api/testData/types/byDeclarationReturnType/functionWithAnnotationOnParameterType.descriptors.txt
@@ -31,7 +31,7 @@
       typeArguments: []
   ]
   parameters: [
-    KaBaseFunctionValueParameter [name: myFakeName, type: kotlin/Int]
+    KaBaseFunctionValueParameter [name: x, type: kotlin/Int]
   ]
   qualifiers: [
     KaResolvedClassTypeQualifier: