From 92ac1d3f3d65ecd9d1b0ffd6559bee2df5675abc Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 23 Mar 2020 09:46:55 +0300 Subject: [PATCH] FIR: use FirDefaultPropertyAccessor if no body also in lightTree builder --- .../fir/lightTree/converter/DeclarationsConverter.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt b/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt index 589365ff004..eb2338bfd9e 100644 --- a/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt +++ b/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.builder.generateAccessorsByDelegate import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.* import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl +import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind @@ -1012,9 +1013,17 @@ class DeclarationsConverter( } } + val sourceElement = getterOrSetter.toFirSourceElement() + if (block == null && expression == null) { + return FirDefaultPropertyAccessor + .createGetterOrSetter(sourceElement, baseSession, propertyTypeRef, modifiers.getVisibility(), isGetter) + .also { + it.annotations += modifiers.annotations + } + } val target = FirFunctionTarget(labelName = null, isLambda = false) return buildPropertyAccessor { - source = getterOrSetter.toFirSourceElement() + source = sourceElement session = baseSession returnTypeRef = returnType ?: if (isGetter) propertyTypeRef else implicitUnitType symbol = FirPropertyAccessorSymbol()