XmlFile.getRootTag()
authorDmitry Avdeev <Dmitry.Avdeev@jetbrains.com>
Fri, 13 Aug 2010 14:22:04 +0000 (18:22 +0400)
committerDmitry Avdeev <Dmitry.Avdeev@jetbrains.com>
Tue, 17 Aug 2010 09:44:43 +0000 (13:44 +0400)
java/jsp-base-openapi/src/com/intellij/psi/jsp/BaseJspFile.java
plugins/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/RncFileImpl.java
xml/impl/src/com/intellij/psi/impl/source/xml/XmlFileImpl.java
xml/impl/src/com/intellij/xml/util/XmlUtil.java
xml/openapi/src/com/intellij/psi/xml/XmlFile.java

index 4b39c8b346d93c556f718b93699d41040141ed56..a9373fd2e5d46f6585790eab08e9bda5e7deb1a2 100644 (file)
@@ -47,4 +47,6 @@ public interface BaseJspFile extends XmlFile {
 
   @NotNull
   JspxFileViewProvider getViewProvider();
+
+  XmlTag getRootTag();
 }
index 37636492d5be2466525aa767d2f1050ac1773143..daeb05e783d064b65005d6e426a4394f5afbf22d 100644 (file)
@@ -29,6 +29,7 @@ import com.intellij.psi.search.PsiElementProcessor;
 import com.intellij.psi.tree.TokenSet;
 import com.intellij.psi.xml.XmlDocument;
 import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
 import com.intellij.util.IncorrectOperationException;
 import org.intellij.plugins.relaxNG.compact.RncElementTypes;
 import org.intellij.plugins.relaxNG.compact.RncFileType;
@@ -63,6 +64,11 @@ public class RncFileImpl extends PsiFileBase implements RncFile, XmlFile {
     return document;
   }
 
+  @Override
+  public XmlTag getRootTag() {
+    return getDocument().getRootTag();
+  }
+
   @Override
   public boolean processDeclarations(@NotNull PsiScopeProcessor processor, @NotNull ResolveState substitutor, PsiElement lastParent, @NotNull PsiElement place) {
     //processor.handleEvent(JavaScopeProcessorEvent.SET_CURRENT_FILE_CONTEXT, this);
index dc848fe8c297b299a15a9006d336ee136a970d80..f598c4f0c6d2f38f41dfaf0028301718cb285f3a 100644 (file)
@@ -30,6 +30,7 @@ import com.intellij.psi.search.PsiElementProcessor;
 import com.intellij.psi.tree.IElementType;
 import com.intellij.psi.xml.XmlDocument;
 import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -51,6 +52,12 @@ public class XmlFileImpl extends PsiFileImpl implements XmlFile {
     return null;
   }
 
+  @Override
+  public XmlTag getRootTag() {
+    XmlDocument document = getDocument();
+    return document == null ? null : document.getRootTag();
+  }
+
   public boolean processElements(PsiElementProcessor processor, PsiElement place){
     final XmlDocument document = getDocument();
     return document == null || document.processElements(processor, place);
index 5d7e3834e6c39fba558151364cc9c4619d344325..3b6f19448cd4565dbb826dcc7af186da334ce8ba 100644 (file)
@@ -190,17 +190,9 @@ public class XmlUtil {
     return null;
   }
 
-  @SuppressWarnings({"ConstantConditions"})
-  public static XmlTag getRootTag(XmlFile file) {
-    if (file == null) return null;
-    final XmlDocument document = file.getDocument();
-    if (document == null) return null;
-    return document.getRootTag();
-  }
-
   @Nullable
   public static String findNamespacePrefixByURI(XmlFile file, @NonNls String uri) {
-    final XmlTag tag = getRootTag(file);
+    final XmlTag tag = file.getRootTag();
     if (tag == null) return null;
 
     for (XmlAttribute attribute : tag.getAttributes()) {
index 84dcfca3d26d8d82ee3e805a3d7ec2d1f9262c31..16f10cb43a69d860013b7ffac51aa3d0a0964a1d 100644 (file)
@@ -25,4 +25,7 @@ import org.jetbrains.annotations.Nullable;
 public interface XmlFile extends PsiFile, XmlElement, FileResolveScopeProvider {
   @Nullable
   XmlDocument getDocument();
+
+  @Nullable
+  XmlTag getRootTag();
 }