From eef139d152fccc90c0570cfebed12d09405ab7c8 Mon Sep 17 00:00:00 2001 From: Olesya Smirnova Date: Mon, 14 Feb 2005 19:12:02 +0300 Subject: [PATCH] tests --- .../codeFormatting/general/FormatterUtil.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/source/com/intellij/codeFormatting/general/FormatterUtil.java b/source/com/intellij/codeFormatting/general/FormatterUtil.java index 0f0dd64f4d0c..06eedac16db9 100644 --- a/source/com/intellij/codeFormatting/general/FormatterUtil.java +++ b/source/com/intellij/codeFormatting/general/FormatterUtil.java @@ -133,4 +133,26 @@ public class FormatterUtil { final int currentTokenPosShift) { return new Helper(fileType, project).shiftIndentInside(leafElement, currentTokenPosShift); } + + public static ASTNode getNonLeafSpaceBefore(final ASTNode element) { + if (element == null) return null; + ASTNode treePrev = element.getTreePrev(); + if (treePrev != null) { + ASTNode candidate = getLastChildOf(treePrev); + if (candidate != null && !isSpaceTextElement(candidate)) { + return candidate; + } + else { + return getNonLeafSpaceBefore(candidate); + } + } + final ASTNode treeParent = element.getTreeParent(); + + if (treeParent == null || treeParent.getTreeParent() == null) { + return null; + } else { + return getNonLeafSpaceBefore(treeParent); + } + + } }