From 57ee78a7f50feb1322a8f9fb5f5bc5b691bb13b2 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 28 Oct 2022 08:51:41 +0200 Subject: [PATCH] [Analysis API FE1.0] fix constructor symbol parameters They should not come from the class itself --- .../descriptorBased/KtFe10DescConstructorSymbol.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt index 8989b9d8acd..cff48d4a99a 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt @@ -11,13 +11,13 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas import org.jetbrains.kotlin.analysis.api.descriptors.symbols.isEqualTo import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10DescFunctionLikeSymbolPointer import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer +import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion import org.jetbrains.kotlin.analysis.api.symbols.KtConstructorSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer import org.jetbrains.kotlin.analysis.api.types.KtType -import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion import org.jetbrains.kotlin.descriptors.ConstructorDescriptor import org.jetbrains.kotlin.name.ClassId @@ -41,7 +41,12 @@ internal class KtFe10DescConstructorSymbol( get() = withValidityAssertion { descriptor.returnType.toKtType(analysisContext) } override val typeParameters: List - get() = withValidityAssertion { descriptor.typeParameters.map { KtFe10DescTypeParameterSymbol(it, analysisContext) } } + get() = withValidityAssertion { + descriptor.typeParameters.mapNotNull { + if (it.containingDeclaration != descriptor) return@mapNotNull null + KtFe10DescTypeParameterSymbol(it, analysisContext) + } + } override fun createPointer(): KtSymbolPointer = withValidityAssertion { val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)