FIR IDE: get rid of KtFirSetterParameterSymbol
This commit is contained in:
+1
-1
@@ -29,7 +29,7 @@ abstract class KtPropertyGetterSymbol : KtPropertyAccessorSymbol(), KtTypedSymbo
|
||||
}
|
||||
|
||||
abstract class KtPropertySetterSymbol : KtPropertyAccessorSymbol() {
|
||||
abstract val parameter: KtSetterParameterSymbol
|
||||
abstract val parameter: KtFunctionParameterSymbol
|
||||
|
||||
abstract override fun createPointer(): KtSymbolPointer<KtPropertySetterSymbol>
|
||||
}
|
||||
-5
@@ -106,11 +106,6 @@ abstract class KtConstructorParameterSymbol : KtParameterSymbol() {
|
||||
abstract override fun createPointer(): KtSymbolPointer<KtConstructorParameterSymbol>
|
||||
}
|
||||
|
||||
abstract class KtSetterParameterSymbol : KtParameterSymbol() {
|
||||
final override val symbolKind: KtSymbolKind get() = KtSymbolKind.NON_PROPERTY_PARAMETER
|
||||
|
||||
abstract override fun createPointer(): KtSymbolPointer<KtSetterParameterSymbol>
|
||||
}
|
||||
|
||||
enum class KtConstructorParameterSymbolKind {
|
||||
VAL_PROPERTY, VAR_PROPERTY, NON_PROPERTY
|
||||
|
||||
-3
@@ -130,9 +130,6 @@ internal class KtSymbolByFirBuilder private constructor(
|
||||
fun buildFirConstructorParameter(fir: FirValueParameter) =
|
||||
symbolsCache.cache(fir) { KtFirConstructorValueParameterSymbol(fir, resolveState, token, this) }
|
||||
|
||||
fun buildFirSetterParameter(fir: FirValueParameter): KtFirSetterParameterSymbol =
|
||||
symbolsCache.cache(fir) { KtFirSetterParameterSymbol(fir, resolveState, token, this) }
|
||||
|
||||
fun buildFunctionSymbol(fir: FirSimpleFunction) = symbolsCache.cache(fir) {
|
||||
KtFirFunctionSymbol(fir, resolveState, token, this)
|
||||
}
|
||||
|
||||
+3
-3
@@ -18,8 +18,8 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.toAnnotati
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtFunctionParameterSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySetterSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSetterParameterSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
|
||||
@@ -52,8 +52,8 @@ internal class KtFirPropertySetterSymbol(
|
||||
override fun containsAnnotation(classId: ClassId): Boolean = firRef.containsAnnotation(classId)
|
||||
override val annotationClassIds: Collection<ClassId> by cached { firRef.getAnnotationClassIds() }
|
||||
|
||||
override val parameter: KtSetterParameterSymbol by firRef.withFirAndCache { fir ->
|
||||
builder.buildFirSetterParameter(fir.valueParameters.single())
|
||||
override val parameter: KtFunctionParameterSymbol by firRef.withFirAndCache { fir ->
|
||||
builder.buildFunctionParameterSymbol(fir.valueParameters.single())
|
||||
}
|
||||
|
||||
override val annotatedType: KtTypeAndAnnotations by cached {
|
||||
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.frontend.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.idea.fir.findPsi
|
||||
import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState
|
||||
import org.jetbrains.kotlin.idea.frontend.api.ValidityToken
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.toAnnotationsList
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSetterParameterSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
internal class KtFirSetterParameterSymbol(
|
||||
fir: FirValueParameter,
|
||||
resolveState: FirModuleResolveState,
|
||||
override val token: ValidityToken,
|
||||
_builder: KtSymbolByFirBuilder
|
||||
) : KtSetterParameterSymbol(), KtFirSymbol<FirValueParameter> {
|
||||
private val builder by weakRef(_builder)
|
||||
override val firRef = firRef(fir, resolveState)
|
||||
override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.session) }
|
||||
|
||||
override val name: Name get() = firRef.withFir { it.name }
|
||||
override val annotatedType: KtTypeAndAnnotations by cached {
|
||||
firRef.returnTypeAndAnnotations(FirResolvePhase.TYPES, builder)
|
||||
}
|
||||
override val hasDefaultValue: Boolean get() = firRef.withFir { it.defaultValue != null }
|
||||
|
||||
override val isVararg: Boolean = false
|
||||
|
||||
override val annotations: List<KtAnnotationCall> by cached { firRef.toAnnotationsList() }
|
||||
override fun containsAnnotation(classId: ClassId): Boolean = firRef.containsAnnotation(classId)
|
||||
override val annotationClassIds: Collection<ClassId> by cached { firRef.getAnnotationClassIds() }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtSetterParameterSymbol> {
|
||||
KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it }
|
||||
TODO("Creating pointers for functions parameters from library is not supported yet")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user