extract method
authorEugene Kudelevsky <Eugene.Kudelevsky@jetbrains.com>
Tue, 23 Mar 2010 13:10:31 +0000 (16:10 +0300)
committerEugene Kudelevsky <Eugene.Kudelevsky@jetbrains.com>
Tue, 23 Mar 2010 13:10:31 +0000 (16:10 +0300)
xml/impl/src/com/intellij/codeInsight/completion/XmlSmartEnterProcessor.java
xml/impl/src/com/intellij/xml/util/XmlUtil.java

index 745dd2353a4ba87ac28bbfcaa73f892fe2517ed9..ffa0c54a5f89dbe21f5f2c17f188e5876e90805a 100644 (file)
@@ -32,6 +32,7 @@ import com.intellij.psi.xml.XmlChildRole;
 import com.intellij.psi.xml.XmlTag;
 import com.intellij.util.IncorrectOperationException;
 import com.intellij.util.text.CharArrayUtil;
+import com.intellij.xml.util.XmlUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -46,9 +47,7 @@ public class XmlSmartEnterProcessor extends SmartEnterProcessor {
     XmlTag tagAtCaret = PsiTreeUtil.getParentOfType(atCaret, XmlTag.class);
     if (tagAtCaret != null) {
       try {
-        final ASTNode emptyTagEnd = XmlChildRole.EMPTY_TAG_END_FINDER.findChild(tagAtCaret.getNode());
-        final ASTNode endTagEnd = XmlChildRole.START_TAG_END_FINDER.findChild(tagAtCaret.getNode());
-        if (emptyTagEnd != null || endTagEnd != null) {
+        if (XmlUtil.isTagClosed(tagAtCaret)) {
           return XmlZenCodingTemplate.startZenCoding(editor, psiFile);
         }
 
index de046a30687cf9e283ceecdcee8b5d405d742d8a..8a5c7e891599f6711a82478837f7c7ea24c30305 100644 (file)
@@ -542,6 +542,14 @@ public class XmlUtil {
     return null;
   }
 
+  public static boolean isTagClosed(@NotNull XmlTag tag) {
+    ASTNode node = tag.getNode();
+    assert node != null;
+    final ASTNode emptyTagEnd = XmlChildRole.EMPTY_TAG_END_FINDER.findChild(node);
+    final ASTNode endTagEnd = XmlChildRole.START_TAG_END_FINDER.findChild(node);
+    return emptyTagEnd != null || endTagEnd != null;
+  }
+
   private static class XmlElementProcessor {
     private final PsiElementProcessor processor;
     private final PsiFile targetFile;