From 8142ad3f4db91a89a7adaf688f4f0d0788d64f0c Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Wed, 15 Jan 2020 16:32:42 +0700 Subject: [PATCH] FormatterUtil: fix `getLineCount` #KT-34744 --- .../src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt index 33e376d31a4..e4ff0b10416 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt @@ -30,13 +30,13 @@ fun ASTBlock.requireNode() = node ?: error("ASTBlock.getNode() returned null") val isDefaultOfficialCodeStyle by lazy { !KotlinCodeStyleSettings.defaultSettings().CONTINUATION_INDENT_FOR_CHAINED_CALLS } fun PsiElement.getLineCount(): Int { - val doc = containingFile?.let { file -> file.viewProvider.document ?: PsiDocumentManager.getInstance(project).getDocument(file) } + val doc = containingFile?.let { PsiDocumentManager.getInstance(project).getDocument(it) } if (doc != null) { val spaceRange = textRange ?: TextRange.EMPTY_RANGE - if (spaceRange.endOffset <= doc.textLength) { + if (spaceRange.endOffset <= doc.textLength && spaceRange.startOffset < spaceRange.endOffset) { val startLine = doc.getLineNumber(spaceRange.startOffset) - val endLine = doc.getLineNumber(spaceRange.endOffset) + val endLine = doc.getLineNumber(spaceRange.endOffset - 1) return endLine - startLine + 1 }