diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt index 84a04c0c73b..ddacfc7fa23 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt @@ -136,7 +136,12 @@ internal class FileStructure private constructor( override fun visitDeclaration(dcl: KtDeclaration) { val structureElement = getStructureElementFor(dcl) structureElements += structureElement - dcl.acceptChildren(this) + + // Go down only in the case of container declaration + val canHaveInnerStructure = dcl is KtClassOrObject || dcl is KtScript + if (canHaveInnerStructure) { + dcl.acceptChildren(this) + } } override fun visitModifierList(list: KtModifierList) {