From 926c0a91366b21df76d2fb7031a634f7fd857c66 Mon Sep 17 00:00:00 2001 From: Egor Kulikov Date: Thu, 30 Nov 2023 09:44:10 +0100 Subject: [PATCH] [FIR] Fix naming for light tree delegate and expression conversion --- .../converter/AbstractLightTreeRawFirBuilder.kt | 2 ++ .../converter/LightTreeRawFirDeclarationBuilder.kt | 12 ++++++------ .../converter/LightTreeRawFirExpressionBuilder.kt | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/AbstractLightTreeRawFirBuilder.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/AbstractLightTreeRawFirBuilder.kt index d54767e52f8..b63133fa76e 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/AbstractLightTreeRawFirBuilder.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/AbstractLightTreeRawFirBuilder.kt @@ -71,6 +71,8 @@ abstract class AbstractLightTreeRawFirBuilder( override fun LighterASTNode.getLabeledExpression() = getLastChildExpression() + fun LighterASTNode.getChildExpression() = getFirstChildExpression() + private fun LighterASTNode.getFirstChildExpression(): LighterASTNode? { forEachChildren { if (it.isExpression()) return it diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirDeclarationBuilder.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirDeclarationBuilder.kt index abafe90a822..5cc116556d6 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirDeclarationBuilder.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirDeclarationBuilder.kt @@ -1278,7 +1278,7 @@ class LightTreeRawFirDeclarationBuilder( var identifier: String? = null val firTypeParameters = mutableListOf() var isReturnType = false - var delegateExpression: LighterASTNode? = null + var delegate: LighterASTNode? = null var isVar = false var receiverType: FirTypeRef? = null var returnType: FirTypeRef = implicitType @@ -1312,7 +1312,7 @@ class LightTreeRawFirDeclarationBuilder( COLON -> isReturnType = true TYPE_REFERENCE -> if (isReturnType) returnType = convertType(it) else receiverType = convertType(it) TYPE_CONSTRAINT_LIST -> typeConstraints += convertTypeConstraints(it) - PROPERTY_DELEGATE -> delegateExpression = it + PROPERTY_DELEGATE -> delegate = it VAR_KEYWORD -> isVar = true PROPERTY_ACCESSOR -> { accessors += it @@ -1338,8 +1338,8 @@ class LightTreeRawFirDeclarationBuilder( initializer = propertyInitializer //probably can do this for delegateExpression itself - val delegateSource = delegateExpression?.let { - (it.getExpressionInParentheses() ?: it).toFirSourceElement() + val delegateSource = delegate?.let { + (it.getChildExpression() ?: it).toFirSourceElement() } symbol = propertySymbol @@ -1356,7 +1356,7 @@ class LightTreeRawFirDeclarationBuilder( if (isLocal) { this.isLocal = true - val delegateBuilder = delegateExpression?.let { + val delegateBuilder = delegate?.let { FirWrappedDelegateExpressionBuilder().apply { source = delegateSource?.fakeElement(KtFakeSourceElementKind.WrappedDelegate) expression = expressionConverter.getAsFirExpression(it, "Incorrect delegate expression") @@ -1381,7 +1381,7 @@ class LightTreeRawFirDeclarationBuilder( withCapturedTypeParameters(true, propertySource, firTypeParameters) { typeParameters += firTypeParameters - val delegateBuilder = delegateExpression?.let { + val delegateBuilder = delegate?.let { FirWrappedDelegateExpressionBuilder().apply { source = delegateSource?.fakeElement(KtFakeSourceElementKind.WrappedDelegate) expression = expressionConverter.getAsFirExpression(it, "Should have delegate") diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirExpressionBuilder.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirExpressionBuilder.kt index b3542686125..2b6699ef074 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirExpressionBuilder.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/LightTreeRawFirExpressionBuilder.kt @@ -136,7 +136,7 @@ class LightTreeRawFirExpressionBuilder( getAsFirExpression(content, "Empty parentheses") } PROPERTY_DELEGATE, INDICES, CONDITION, LOOP_RANGE -> - getAsFirExpression(expression.getExpressionInParentheses(), errorReason) + getAsFirExpression(expression.getChildExpression(), errorReason) THIS_EXPRESSION -> convertThisExpression(expression) SUPER_EXPRESSION -> convertSuperExpression(expression)