From 601d5cbff8b56858a43e7bef3d6f1a6aba7e946e Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 31 Dec 2020 17:24:19 +0100 Subject: [PATCH] FIR IDE: fix duplicating diagnostics collection --- .../fir/low/level/api/file/structure/FileStructure.kt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt index 078179f7d62..fbcc81720e7 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt @@ -54,16 +54,10 @@ internal class FileStructure( fun getAllDiagnosticsForFile(): Collection { val containersForStructureElement = buildList { add(ktFile) - ktFile.forEachDescendantOfType( - canGoInside = { psi -> psi !is KtFunction && psi !is KtValVarKeywordOwner } - ) { declaration -> - if (FileStructureUtil.isStructureElementContainer(declaration)) { - add(declaration) - } - } + addAll(ktFile.declarations) } val structureElements = containersForStructureElement.map(::getStructureElementFor) - return buildList { + return buildSet { structureElements.forEach { it.diagnostics.forEach { diagnostics -> addAll(diagnostics) } } } }