From bed45affe123225393f2c719fac1c0f1829da736 Mon Sep 17 00:00:00 2001 From: Andrey Zinovyev Date: Sun, 18 Apr 2021 12:41:51 +0300 Subject: [PATCH] [FIR][LightTree] Don't report diagnostics on some nameless declarations --- .../diagnostics/LightTreePositioningStrategies.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 9604c27ab91..c23b3bf02b7 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 @@ -171,6 +171,20 @@ object LightTreePositioningStrategies { } return DEFAULT.mark(node, startOffset, endOffset, tree) } + + override fun isValid(node: LighterASTNode, tree: FlyweightCapableTreeStructure): Boolean { + //in FE 1.0 this is part of DeclarationHeader abstract strategy + if (node.tokenType != KtNodeTypes.OBJECT_DECLARATION + && node.tokenType != KtNodeTypes.FUN + && node.tokenType != KtNodeTypes.SECONDARY_CONSTRUCTOR + && node.tokenType != KtNodeTypes.OBJECT_LITERAL + ) { + if (tree.nameIdentifier(node) == null) { + return false + } + } + return super.isValid(node, tree) + } } val DECLARATION_SIGNATURE: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {