From 6b3c99293e5f060487e020024071940893d941d3 Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Tue, 26 Feb 2013 18:44:19 +0400 Subject: [PATCH] WEB-5939 Unexpected comment if add a new line before noncommented code and the previous line was commented --- .../editorActions/enter/BaseIndentEnterHandler.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/enter/BaseIndentEnterHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/enter/BaseIndentEnterHandler.java index 982cdb4b6e14..77b7e65a0033 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/enter/BaseIndentEnterHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/enter/BaseIndentEnterHandler.java @@ -109,7 +109,7 @@ public class BaseIndentEnterHandler extends EnterHandlerDelegateAdapter { final int previousLineStartOffset = lineNumber > 0 ? document.getLineStartOffset(lineNumber - 1) : lineStartOffset; final EditorHighlighter highlighter = ((EditorEx)editor).getHighlighter(); final HighlighterIterator iterator = highlighter.createIterator(caret - 1); - final IElementType type = getNonWhitespaceElementType(iterator, previousLineStartOffset); + final IElementType type = getNonWhitespaceElementType(iterator, lineStartOffset, previousLineStartOffset); final CharSequence editorCharSequence = document.getCharsSequence(); final CharSequence lineIndent = @@ -190,8 +190,8 @@ public class BaseIndentEnterHandler extends EnterHandlerDelegateAdapter { } @Nullable - private IElementType getNonWhitespaceElementType(final HighlighterIterator iterator, final int lineStartOffset) { - while (!iterator.atEnd() && iterator.getStart() >= lineStartOffset) { + private IElementType getNonWhitespaceElementType(final HighlighterIterator iterator, int currentLineStartOffset, final int prevLineStartOffset) { + while (!iterator.atEnd() && iterator.getEnd() >= currentLineStartOffset && iterator.getStart() >= prevLineStartOffset) { final IElementType tokenType = iterator.getTokenType(); if (!myWhitespaceTokens.contains(tokenType)) { return tokenType;