FIR IDE: make KtCallableSymbol to be KtTypedSymbol

This commit is contained in:
Ilya Kirillov
2021-02-02 14:01:56 +01:00
parent b114a45f23
commit 99a6f24771
4 changed files with 8 additions and 3 deletions
@@ -5,8 +5,9 @@
package org.jetbrains.kotlin.idea.frontend.api.symbols
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypedSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
abstract class KtCallableSymbol : KtSymbol {
abstract class KtCallableSymbol : KtSymbol, KtTypedSymbol {
abstract override fun createPointer(): KtSymbolPointer<KtCallableSymbol>
}
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
abstract class KtFunctionLikeSymbol : KtCallableSymbol(), KtTypedSymbol, KtSymbolWithKind {
abstract class KtFunctionLikeSymbol : KtCallableSymbol(), KtSymbolWithKind {
abstract val valueParameters: List<KtParameterSymbol>
abstract override fun createPointer(): KtSymbolPointer<KtFunctionLikeSymbol>
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
sealed class KtVariableLikeSymbol : KtCallableSymbol(), KtTypedSymbol, KtNamedSymbol, KtSymbolWithKind {
sealed class KtVariableLikeSymbol : KtCallableSymbol(), KtNamedSymbol, KtSymbolWithKind {
abstract override fun createPointer(): KtSymbolPointer<KtVariableLikeSymbol>
}
@@ -54,6 +54,10 @@ internal class KtFirPropertySetterSymbol(
builder.buildFirSetterParameter(fir.valueParameters.single())
}
override val annotatedType: KtTypeAndAnnotations by cached {
firRef.returnTypeAndAnnotations(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, builder)
}
override val symbolKind: KtSymbolKind
get() = firRef.withFir { fir ->
when (fir.symbol.callableId.classId) {