[FIR] Use AST nodes only for lambda parameter names

Eighth step for ^KT-52615

Merge-request: KT-MR-8700
Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
This commit is contained in:
Egor Kulikov
2023-02-08 10:47:15 +00:00
committed by Space Team
parent 1898dfd40d
commit e810142d74
3 changed files with 6 additions and 7 deletions
@@ -2316,7 +2316,7 @@ class DeclarationsConverter(
}
}
val name = convertValueParameterName(identifier.nameAsSafeName(), identifier, valueParameterDeclaration)
val name = convertValueParameterName(identifier.nameAsSafeName(), valueParameterDeclaration) { identifier }
val valueParameterSource = valueParameter.toFirSourceElement()
return ValueParameter(
@@ -578,7 +578,7 @@ open class RawFirBuilder(
valueParameterDeclaration: ValueParameterDeclaration,
additionalAnnotations: List<FirAnnotation>,
): FirValueParameter {
val name = convertValueParameterName(nameAsSafeName, nameIdentifier?.node?.text, valueParameterDeclaration)
val name = convertValueParameterName(nameAsSafeName, valueParameterDeclaration) { nameIdentifier?.node?.text }
return buildValueParameter {
source = toFirSourceElement()
moduleData = baseModuleData
@@ -2104,9 +2104,8 @@ open class RawFirBuilder(
val parameter = clause.catchParameter?.let { ktParameter ->
val name = convertValueParameterName(
ktParameter.nameAsSafeName,
ktParameter.nameIdentifier?.node?.text,
ValueParameterDeclaration.CATCH
)
) { ktParameter.nameIdentifier?.node?.text }
buildProperty {
source = ktParameter.toFirSourceElement()
@@ -1225,10 +1225,10 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
protected fun convertValueParameterName(
safeName: Name,
rawName: String?,
valueParameterDeclaration: ValueParameterDeclaration
valueParameterDeclaration: ValueParameterDeclaration,
rawName: () -> String?,
): Name {
return if (valueParameterDeclaration == ValueParameterDeclaration.LAMBDA && rawName == "_"
return if (valueParameterDeclaration == ValueParameterDeclaration.LAMBDA && rawName() == "_"
||
valueParameterDeclaration == ValueParameterDeclaration.CATCH &&
safeName.asString() == "_"