diff --git a/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java b/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java index 6cbeb7065b8d..fa922d83b6d0 100644 --- a/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java +++ b/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java @@ -85,6 +85,7 @@ public abstract class AbstractBlockWrapper { * * @return the whitespace preceding the block */ + @Nullable public WhiteSpace getWhiteSpace() { return myWhiteSpaceBefore; } diff --git a/platform/lang-impl/src/com/intellij/formatting/CoreFormatterUtil.java b/platform/lang-impl/src/com/intellij/formatting/CoreFormatterUtil.java index c00ea1cd5fc0..7a1c2aad0474 100644 --- a/platform/lang-impl/src/com/intellij/formatting/CoreFormatterUtil.java +++ b/platform/lang-impl/src/com/intellij/formatting/CoreFormatterUtil.java @@ -88,22 +88,19 @@ public class CoreFormatterUtil { * @return non-line feed symbols to the left of the given wrapped block */ public static int getStartColumn(@Nullable LeafBlockWrapper block) { - if (block != null) { - int result = 0; - while (true) { - final WhiteSpace whiteSpace = block.getWhiteSpace(); + if (block == null) return -1; + + int result = 0; + while (true) { + final WhiteSpace whiteSpace = block.getWhiteSpace(); + if (whiteSpace != null) { result += whiteSpace.getTotalSpaces(); - if (whiteSpace.containsLineFeeds()) { - return result; - } - block = block.getPreviousBlock(); - if (result > CodeStyleSettings.MAX_RIGHT_MARGIN || block == null) return result; - result += block.getSymbolsAtTheLastLine(); - if (block.containsLineFeeds()) return result; + if (whiteSpace.containsLineFeeds()) return result; } - } - else { - return -1; + block = block.getPreviousBlock(); + if (result > CodeStyleSettings.MAX_RIGHT_MARGIN || block == null) return result; + result += block.getSymbolsAtTheLastLine(); + if (block.containsLineFeeds()) return result; } }