[Analysis API FE1.0] fix constructor symbol parameters
They should not come from the class itself
This commit is contained in:
+7
-2
@@ -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.isEqualTo
|
||||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10DescFunctionLikeSymbolPointer
|
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.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.KtConstructorSymbol
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
|
import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol
|
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.KtPsiBasedSymbolPointer
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
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.descriptors.ConstructorDescriptor
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
|
|
||||||
@@ -41,7 +41,12 @@ internal class KtFe10DescConstructorSymbol(
|
|||||||
get() = withValidityAssertion { descriptor.returnType.toKtType(analysisContext) }
|
get() = withValidityAssertion { descriptor.returnType.toKtType(analysisContext) }
|
||||||
|
|
||||||
override val typeParameters: List<KtTypeParameterSymbol>
|
override val typeParameters: List<KtTypeParameterSymbol>
|
||||||
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<KtConstructorSymbol> = withValidityAssertion {
|
override fun createPointer(): KtSymbolPointer<KtConstructorSymbol> = withValidityAssertion {
|
||||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)
|
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)
|
||||||
|
|||||||
Reference in New Issue
Block a user