From df68f319bc0e7ffa917d9696f57dbacc7ac020f3 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 27 Jan 2021 18:43:33 +0300 Subject: [PATCH] FIR LT: simplify defaultValue() search --- .../diagnostics/LightTreePositioningStrategies.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/LightTreePositioningStrategies.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/LightTreePositioningStrategies.kt index daf1f7e374e..75912ff75ae 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/LightTreePositioningStrategies.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/LightTreePositioningStrategies.kt @@ -345,14 +345,13 @@ private fun FlyweightCapableTreeStructure.defaultValue(node: Lig val childrenRef = Ref>() getChildren(node, childrenRef) // p : T = v - return childrenRef.get()?.reversed()?.firstOrNull { - it != null && - it.tokenType != KtTokens.WHITE_SPACE && - it.tokenType != KtTokens.EQ && - it.tokenType != KtNodeTypes.TYPE_REFERENCE && - it.tokenType != KtTokens.COLON && - it.tokenType != KtTokens.IDENTIFIER + val children = childrenRef.get()?.reversed() ?: return null + for (child in children) { + if (child == null || child.tokenType == KtTokens.WHITE_SPACE) continue + if (child.tokenType == KtNodeTypes.TYPE_REFERENCE || child.tokenType == KtTokens.COLON) return null + return child } + return null } fun FlyweightCapableTreeStructure.findChildByType(node: LighterASTNode, type: IElementType): LighterASTNode? {