[Analysis API FE1.0] remove Any? type parameter bound

This commit is contained in:
Ilya Kirillov
2022-10-28 10:32:59 +02:00
parent 068168bc3c
commit e706c49eb0
2 changed files with 6 additions and 2 deletions
@@ -7,7 +7,9 @@ package org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.base.KtFe10Symbol
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.KtFe10DescSymbol
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.getDescriptor
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtType
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer
import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
@@ -18,6 +20,7 @@ import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.types.typeUtil.isNullableAny
internal class KtFe10DescTypeParameterSymbol(
override val descriptor: TypeParameterDescriptor,
@@ -27,7 +30,7 @@ internal class KtFe10DescTypeParameterSymbol(
get() = withValidityAssertion { descriptor.name }
override val upperBounds: List<KtType>
get() = withValidityAssertion { descriptor.upperBounds.map { it.toKtType(analysisContext) } }
get() = withValidityAssertion { descriptor.upperBounds.filterNot { it.isNullableAny() }.map { it.toKtType(analysisContext) } }
override val variance: Variance
get() = withValidityAssertion { descriptor.variance }
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtTypeParameter
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.types.typeUtil.isNullableAny
internal class KtFe10PsiTypeParameterSymbol(
override val psi: KtTypeParameter,
@@ -36,7 +37,7 @@ internal class KtFe10PsiTypeParameterSymbol(
get() = withValidityAssertion { psi.variance }
override val upperBounds: List<KtType>
get() = withValidityAssertion { descriptor?.upperBounds?.map { it.toKtType(analysisContext) } ?: emptyList() }
get() = withValidityAssertion { descriptor?.upperBounds?.filterNot { it.isNullableAny() }?.map { it.toKtType(analysisContext) } ?: emptyList() }
override val isReified: Boolean
get() = withValidityAssertion { psi.hasModifier(KtTokens.REIFIED_KEYWORD) }