[FIR] PsiRawFirBuilder: drop obsolete LL FIR parts

This commit is contained in:
Dmitrii Gridin
2024-02-13 20:38:04 +01:00
committed by Space Team
parent 58a1662c02
commit 3962f26583
3 changed files with 16 additions and 61 deletions
@@ -268,8 +268,7 @@ internal class RawFirNonLocalDeclarationBuilder private constructor(
return when (declarationToBuild) {
is KtProperty -> {
val ownerSymbol = containingClass?.symbol
val ownerTypeArgumentsCount = containingClass?.typeParameters?.size
visitor.convertProperty(declarationToBuild, ownerSymbol, ownerTypeArgumentsCount)
visitor.convertProperty(declarationToBuild, ownerSymbol)
}
is KtConstructor<*> -> {
if (containingClass == null) {
@@ -68,11 +68,6 @@ open class PsiRawFirBuilder(
target.bind(function)
}
protected open fun FirFunctionBuilder.additionalFunctionInit() {}
protected open fun FirPropertyBuilder.additionalPropertyInit() {}
protected open fun FirPropertyAccessorBuilder.additionalPropertyAccessorInit() {}
protected open fun FirBackingFieldBuilder.additionalBackingFieldInit() {}
var mode: BodyBuildingMode = bodyBuildingMode
private set
@@ -257,43 +252,17 @@ open class PsiRawFirBuilder(
}
}
open fun convertElement(element: KtElement, original: FirElement? = null): FirElement? =
fun convertElement(element: KtElement, original: FirElement? = null): FirElement? =
element.accept(this@Visitor, original)
open fun convertProperty(
property: KtProperty, ownerRegularOrAnonymousObjectSymbol: FirClassSymbol<*>?,
ownerRegularClassTypeParametersCount: Int?,
fun convertProperty(
property: KtProperty,
ownerRegularOrAnonymousObjectSymbol: FirClassSymbol<*>?,
): FirProperty = property.toFirProperty(
ownerRegularOrAnonymousObjectSymbol,
context
)
open fun convertPropertyAccessor(
accessor: KtPropertyAccessor?,
property: KtProperty,
propertyTypeRef: FirTypeRef,
propertySymbol: FirPropertySymbol,
isGetter: Boolean,
accessorAnnotationsFromProperty: List<FirAnnotation>,
parameterAnnotationsFromProperty: List<FirAnnotation>,
): FirPropertyAccessor? = accessor.toFirPropertyAccessor(
property,
propertyTypeRef,
propertySymbol,
isGetter,
accessorAnnotationsFromProperty,
parameterAnnotationsFromProperty,
)
open fun convertValueParameter(
valueParameter: KtParameter,
functionSymbol: FirFunctionSymbol<*>,
defaultTypeRef: FirTypeRef? = null,
valueParameterDeclaration: ValueParameterDeclaration,
additionalAnnotations: List<FirAnnotation> = emptyList(),
): FirValueParameter =
valueParameter.toFirValueParameter(defaultTypeRef, functionSymbol, valueParameterDeclaration, additionalAnnotations)
private fun KtTypeReference?.toFirOrImplicitType(): FirTypeRef =
this?.toFirType() ?: FirImplicitTypeRefImplWithoutSource
@@ -407,8 +376,7 @@ open class PsiRawFirBuilder(
is KtProperty -> {
convertProperty(
this@toFirDeclaration,
ownerClassBuilder.ownerRegularOrAnonymousObjectSymbol,
ownerClassBuilder.ownerRegularClassTypeParametersCount
ownerClassBuilder.ownerRegularOrAnonymousObjectSymbol
)
}
is KtDestructuringDeclaration -> {
@@ -566,8 +534,6 @@ open class PsiRawFirBuilder(
this.contractDescription = it
}
this.propertySymbol = propertySymbol
additionalPropertyAccessorInit()
}.also {
it.initContainingClassAttr()
bindFunctionTarget(accessorTarget, it)
@@ -650,8 +616,6 @@ open class PsiRawFirBuilder(
this.initializer = backingFieldInitializer
this.isVar = property.isVar
this.isVal = !property.isVar
additionalBackingFieldInit()
}
} else {
FirDefaultPropertyBackingField(
@@ -671,7 +635,7 @@ open class PsiRawFirBuilder(
defaultTypeRef: FirTypeRef?,
functionSymbol: FirFunctionSymbol<*>,
valueParameterDeclaration: ValueParameterDeclaration,
additionalAnnotations: List<FirAnnotation>,
additionalAnnotations: List<FirAnnotation> = emptyList(),
): FirValueParameter {
val name = convertValueParameterName(nameAsSafeName, valueParameterDeclaration) { nameIdentifier?.node?.text }
return buildValueParameter {
@@ -927,8 +891,8 @@ open class PsiRawFirBuilder(
additionalAnnotations: List<FirAnnotation> = emptyList(),
) {
for (valueParameter in valueParameters) {
container.valueParameters += convertValueParameter(
valueParameter, functionSymbol, defaultTypeRef, valueParameterDeclaration, additionalAnnotations = additionalAnnotations
container.valueParameters += valueParameter.toFirValueParameter(
defaultTypeRef, functionSymbol, valueParameterDeclaration, additionalAnnotations = additionalAnnotations
)
}
}
@@ -1824,11 +1788,10 @@ open class PsiRawFirBuilder(
function.extractTypeParametersTo(this, symbol)
}
for (valueParameter in function.valueParameters) {
valueParameters += convertValueParameter(
valueParameter,
functionSymbol,
valueParameters += valueParameter.toFirValueParameter(
null,
if (isAnonymousFunction) ValueParameterDeclaration.LAMBDA else ValueParameterDeclaration.FUNCTION
functionSymbol,
if (isAnonymousFunction) ValueParameterDeclaration.LAMBDA else ValueParameterDeclaration.FUNCTION,
)
}
val actualTypeParameters = if (this is FirSimpleFunctionBuilder)
@@ -1851,7 +1814,6 @@ open class PsiRawFirBuilder(
}
}
context.firFunctionTargets.removeLast()
additionalFunctionInit()
}.build().also {
bindFunctionTarget(target, it)
if (it is FirSimpleFunction) {
@@ -1930,7 +1892,7 @@ open class PsiRawFirBuilder(
multiParameter
} else {
val typeRef = valueParameter.typeReference.toFirOrImplicitType()
convertValueParameter(valueParameter, symbol, typeRef, ValueParameterDeclaration.LAMBDA)
valueParameter.toFirValueParameter(typeRef, symbol, ValueParameterDeclaration.LAMBDA)
}
}
val expressionSource = expression.toFirSourceElement()
@@ -2169,8 +2131,7 @@ open class PsiRawFirBuilder(
propertyAnnotations.filter { it.useSiteTarget == FIELD || it.useSiteTarget == PROPERTY_DELEGATE_FIELD },
)
getter = convertPropertyAccessor(
this@toFirProperty.getter,
getter = this@toFirProperty.getter.toFirPropertyAccessor(
this@toFirProperty,
propertyType,
propertySymbol = symbol,
@@ -2179,8 +2140,7 @@ open class PsiRawFirBuilder(
parameterAnnotationsFromProperty = emptyList()
)
setter = convertPropertyAccessor(
this@toFirProperty.setter,
setter = this@toFirProperty.setter.toFirPropertyAccessor(
this@toFirProperty,
propertyType,
propertySymbol = symbol,
@@ -2240,7 +2200,6 @@ open class PsiRawFirBuilder(
}
contextReceivers.addAll(convertContextReceivers(this@toFirProperty.contextReceivers))
additionalPropertyInit()
}.also {
if (!isLocal) {
fillDanglingConstraintsTo(it)
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2024 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.
*/
@@ -313,9 +313,6 @@ val FirClassBuilder.ownerRegularOrAnonymousObjectSymbol
else -> null
}
val FirClassBuilder.ownerRegularClassTypeParametersCount
get() = if (this is FirRegularClassBuilder) typeParameters.size else null
fun <T> FirPropertyBuilder.generateAccessorsByDelegate(
delegateBuilder: FirWrappedDelegateExpressionBuilder?,
moduleData: FirModuleData,