From a525c2f6540e9d202e44eaf166165bc2346ad9c1 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 8 Jun 2015 15:14:27 +0300 Subject: [PATCH] Fix folding after changes to parser --- .../org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt index fe1996cdaa3..bea46a3f205 100644 --- a/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt +++ b/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt @@ -23,7 +23,6 @@ import com.intellij.lang.folding.FoldingDescriptor import com.intellij.openapi.editor.Document import com.intellij.openapi.project.DumbAware import com.intellij.openapi.util.TextRange -import com.intellij.psi.PsiComment import com.intellij.psi.PsiElement import com.intellij.psi.PsiWhiteSpace import org.jetbrains.kotlin.JetNodeTypes @@ -32,6 +31,7 @@ import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.JetFunctionLiteral import org.jetbrains.kotlin.psi.JetImportList +import org.jetbrains.kotlin.psi.psiUtil.allChildren import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset @@ -126,12 +126,11 @@ public class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware { private fun isFirstElementInFile(element: PsiElement): Boolean { val parent = element.getParent() if (parent is JetFile) { - var firstChild = parent.getFirstChild() - if (firstChild is PsiWhiteSpace) { - firstChild = firstChild.getNextSibling() + val firstNonWhiteSpace = parent.allChildren.firstOrNull { + it.getTextLength() != 0 && it !is PsiWhiteSpace } - return element == firstChild + return element == firstNonWhiteSpace } return false