diff --git a/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java b/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java index 128f9ea5924..9a84c06224c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java +++ b/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java @@ -73,6 +73,8 @@ public class CodeInsightUtils { startOffset = element1.getTextRange().getStartOffset(); endOffset = element2.getTextRange().getEndOffset(); + if (startOffset >= endOffset) return PsiElement.EMPTY_ARRAY; + PsiElement parent = PsiTreeUtil.findCommonParent(element1, element2); if (parent == null) return PsiElement.EMPTY_ARRAY; while (true) { diff --git a/idea/testData/codeInsight/surroundWith/if/emptyLine.kt b/idea/testData/codeInsight/surroundWith/if/emptyLine.kt new file mode 100644 index 00000000000..8a3a32d3803 --- /dev/null +++ b/idea/testData/codeInsight/surroundWith/if/emptyLine.kt @@ -0,0 +1,5 @@ +fun foo() { + val a = "" + + a +} \ No newline at end of file diff --git a/idea/testData/codeInsight/surroundWith/if/emptyLine.kt.after b/idea/testData/codeInsight/surroundWith/if/emptyLine.kt.after new file mode 100644 index 00000000000..1e9c54a3f18 --- /dev/null +++ b/idea/testData/codeInsight/surroundWith/if/emptyLine.kt.after @@ -0,0 +1,5 @@ +fun foo() { + val a = "" + + a +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/surroundWith/SurroundWithTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/surroundWith/SurroundWithTestGenerated.java index d32eb0ad296..67fb0fcd459 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/surroundWith/SurroundWithTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/surroundWith/SurroundWithTestGenerated.java @@ -43,6 +43,12 @@ public class SurroundWithTestGenerated extends AbstractSurroundWithTest { doTestWithIfSurrounder(fileName); } + @TestMetadata("emptyLine.kt") + public void testEmptyLine() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/surroundWith/if/emptyLine.kt"); + doTestWithIfSurrounder(fileName); + } + @TestMetadata("severalStatements.kt") public void testSeveralStatements() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/surroundWith/if/severalStatements.kt");