From fa88aad7f876a09ad38edd79adb2f52430febbd9 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 4 Mar 2005 13:58:48 +0300 Subject: [PATCH] (no message) --- .../openapi/editor/actions/MoveStatementHandler.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/com/intellij/openapi/editor/actions/MoveStatementHandler.java b/source/com/intellij/openapi/editor/actions/MoveStatementHandler.java index d740334204a3..825057c35e28 100644 --- a/source/com/intellij/openapi/editor/actions/MoveStatementHandler.java +++ b/source/com/intellij/openapi/editor/actions/MoveStatementHandler.java @@ -9,6 +9,7 @@ import com.intellij.openapi.editor.*; import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.psi.util.PsiTreeUtil; @@ -90,8 +91,7 @@ class MoveStatementHandler extends EditorWriteActionHandler { if (element instanceof PsiWhiteSpace) { element = element.getNextSibling(); } - while (true) { - if (element == null) break; + while (element != null) { if ((element instanceof PsiStatement || element instanceof PsiComment) && element.getParent() instanceof PsiCodeBlock) { return offset; } @@ -101,12 +101,13 @@ class MoveStatementHandler extends EditorWriteActionHandler { return offset; } element = element.getParent(); - if (!isDown && element.getTextOffset() < offset) break; - if (isDown && element.getTextRange().getEndOffset() >= editor.logicalPositionToOffset(new LogicalPosition(line+1, 0))) break; + final TextRange range = element.getTextRange(); + if (!isDown && range.getStartOffset() < offset) break; + if (isDown && range.getEndOffset() >= editor.logicalPositionToOffset(new LogicalPosition(line+1, 0))) break; } line += isDown ? 1 : -1; if (line == 0 || line >= editor.getDocument().getLineCount()) { - return nearLine; + return editor.logicalPositionToOffset(new LogicalPosition(nearLine, 0)); } } }