[Analysis API] make KtDeclarationSymbol <: KtSymbolWithTypeParameters

To simplify work with type parameters
This commit is contained in:
Ilya Kirillov
2022-05-27 16:15:58 +02:00
committed by teamcity
parent 8f4554959e
commit f189fd1ff0
43 changed files with 142 additions and 20 deletions
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
import org.jetbrains.kotlin.fir.resolve.getHasStableParameterNames
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
@@ -59,6 +60,9 @@ internal class KtFirSamConstructorSymbol(
override val callableIdIfNonLocal: CallableId? get() = withValidityAssertion { firSymbol.getCallableIdIfNonLocal() }
override val typeParameters: List<KtTypeParameterSymbol>
get() = withValidityAssertion { firSymbol.createKtTypeParameters(builder) }
override fun createPointer(): KtSymbolPointer<KtSamConstructorSymbol> {
val callableId = firSymbol.callableId
return KtFirSamConstructorSymbolPointer(ClassId(callableId.packageName, callableId.callableName))