implement KtSymbolWithTypeParameters interface for KtPropertySymbol

This commit is contained in:
Jiaxiang Chen
2021-11-14 22:46:05 -08:00
committed by Ilya Kirillov
parent 30ceb49442
commit f8262a2549
31 changed files with 86 additions and 8 deletions
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.analysis.api.fir.utils.firRef
import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertyGetterSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySetterSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotationCall
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
@@ -62,6 +63,10 @@ internal class KtFirKotlinPropertySymbol(
firRef.returnTypeAndAnnotations(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, builder)
}
override val typeParameters: List<KtTypeParameterSymbol> by cached {
fir.typeParameters.map { builder.classifierBuilder.buildTypeParameterSymbol(it) }
}
override val receiverType: KtTypeAndAnnotations? by cached {
firRef.receiverTypeAndAnnotations(builder)
}
@@ -49,6 +49,10 @@ internal class KtFirSyntheticJavaPropertySymbol(
firRef.returnTypeAndAnnotations(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, builder)
}
override val typeParameters: List<KtTypeParameterSymbol> by cached {
fir.typeParameters.map { builder.classifierBuilder.buildTypeParameterSymbol(it) }
}
override val receiverType: KtTypeAndAnnotations? by cached {
firRef.receiverTypeAndAnnotations(builder)
}