From 057156f323d4cf4dd41a9d00ab1abdb94dfc9d1c Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 28 Mar 2019 18:43:45 +0300 Subject: [PATCH] Raw FIR builder: cleanup code --- .../kotlin/fir/builder/RawFirBuilder.kt | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 2b6f82e897a..a01ea6be93c 100644 --- a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.FirTypeProjection import org.jetbrains.kotlin.fir.types.impl.* import org.jetbrains.kotlin.ir.expressions.IrConstKind -import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName @@ -251,8 +250,8 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { if (hasDefaultValue()) { { defaultValue }.toFirExpression("Should have default value") } else null, - isCrossinline = hasModifier(KtTokens.CROSSINLINE_KEYWORD), - isNoinline = hasModifier(KtTokens.NOINLINE_KEYWORD), + isCrossinline = hasModifier(CROSSINLINE_KEYWORD), + isNoinline = hasModifier(NOINLINE_KEYWORD), isVararg = isVarArg ) extractAnnotationsTo(firValueParameter) @@ -271,7 +270,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { modality, hasExpectModifier(), hasActualModifier(), - isOverride = hasModifier(KtTokens.OVERRIDE_KEYWORD), + isOverride = hasModifier(OVERRIDE_KEYWORD), isConst = false, isLateInit = false, receiverTypeRef = null, @@ -510,10 +509,10 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { classOrObject.hasExpectModifier(), classOrObject.hasActualModifier(), classKind, - isInner = classOrObject.hasModifier(KtTokens.INNER_KEYWORD), + isInner = classOrObject.hasModifier(INNER_KEYWORD), isCompanion = (classOrObject as? KtObjectDeclaration)?.isCompanion() == true, isData = (classOrObject as? KtClass)?.isData() == true, - isInline = classOrObject.hasModifier(KtTokens.INLINE_KEYWORD) + isInline = classOrObject.hasModifier(INLINE_KEYWORD) ) classOrObject.extractAnnotationsTo(firClass) classOrObject.extractTypeParametersTo(firClass) @@ -607,13 +606,13 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { function.modality, function.hasExpectModifier(), function.hasActualModifier(), - function.hasModifier(KtTokens.OVERRIDE_KEYWORD), - function.hasModifier(KtTokens.OPERATOR_KEYWORD), - function.hasModifier(KtTokens.INFIX_KEYWORD), - function.hasModifier(KtTokens.INLINE_KEYWORD), - function.hasModifier(KtTokens.TAILREC_KEYWORD), - function.hasModifier(KtTokens.EXTERNAL_KEYWORD), - function.hasModifier(KtTokens.SUSPEND_KEYWORD), + function.hasModifier(OVERRIDE_KEYWORD), + function.hasModifier(OPERATOR_KEYWORD), + function.hasModifier(INFIX_KEYWORD), + function.hasModifier(INLINE_KEYWORD), + function.hasModifier(TAILREC_KEYWORD), + function.hasModifier(EXTERNAL_KEYWORD), + function.hasModifier(SUSPEND_KEYWORD), receiverType, returnType ) @@ -753,9 +752,9 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { property.modality, property.hasExpectModifier(), property.hasActualModifier(), - property.hasModifier(KtTokens.OVERRIDE_KEYWORD), - property.hasModifier(KtTokens.CONST_KEYWORD), - property.hasModifier(KtTokens.LATEINIT_KEYWORD), + property.hasModifier(OVERRIDE_KEYWORD), + property.hasModifier(CONST_KEYWORD), + property.hasModifier(LATEINIT_KEYWORD), property.receiverTypeReference.convertSafe(), propertyType, isVar, @@ -780,8 +779,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { fun KtTypeElement?.unwrapNullable(): KtTypeElement? = if (this is KtNullableType) this.innerType.unwrapNullable() else this - val unwrappedElement = typeElement.unwrapNullable() - val firType = when (unwrappedElement) { + val firType = when (val unwrappedElement = typeElement.unwrapNullable()) { is KtDynamicType -> FirDynamicTypeRefImpl(session, typeReference, isNullable) is KtUserType -> { var referenceExpression = unwrappedElement.referenceExpression @@ -851,7 +849,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { FirTypeParameterSymbol(), parameterName, parameter.variance, - parameter.hasModifier(KtTokens.REIFIED_KEYWORD) + parameter.hasModifier(REIFIED_KEYWORD) ) parameter.extractAnnotationsTo(firTypeParameter) val extendsBound = parameter.extendsBound @@ -1120,9 +1118,8 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { explicitReceiver = generateAccessExpression(this@RawFirBuilder.session, expression, iteratorName) } ).configure { - val body = expression.body // NB: just body.toFirBlock() isn't acceptable here because we need to add some statements - val block = when (body) { + val block = when (val body = expression.body) { is KtBlockExpression -> body.accept(this@Visitor, Unit) as FirBlockImpl null -> FirBlockImpl(this@RawFirBuilder.session, body) else -> FirBlockImpl(this@RawFirBuilder.session, body).apply { statements += body.toFirStatement() } @@ -1143,7 +1140,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { multiDeclaration, firLoopParameter, tmpVariable = true, - extractAnnotationsTo = { extractAnnotationsTo(it) } + extractAnnotationsTo = { extractAnnotationsTo(it) } ) { toFirOrImplicitType() } if (destructuringBlock is FirBlock) { for ((index, statement) in destructuringBlock.statements.withIndex()) { @@ -1209,11 +1206,11 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { override fun visitBinaryExpression(expression: KtBinaryExpression, data: Unit): FirElement { val operationToken = expression.operationToken val rightArgument = expression.right.toFirExpression("No right operand") - if (operationToken == KtTokens.ELVIS) { + if (operationToken == ELVIS) { return expression.elvisToWhen() } val conventionCallName = operationToken.toBinaryName() - return if (conventionCallName != null || operationToken == KtTokens.IDENTIFIER) { + return if (conventionCallName != null || operationToken == IDENTIFIER) { FirFunctionCallImpl( session, expression ).apply { @@ -1258,7 +1255,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) { override fun visitUnaryExpression(expression: KtUnaryExpression, data: Unit): FirElement { val operationToken = expression.operationToken val argument = expression.baseExpression - if (operationToken == KtTokens.EXCLEXCL) { + if (operationToken == EXCLEXCL) { return expression.bangBangToWhen() } val conventionCallName = operationToken.toUnaryName()