diff --git a/java/java-tests/java-tests.iml b/java/java-tests/java-tests.iml
index cc0afca03321..01e606b3b118 100644
--- a/java/java-tests/java-tests.iml
+++ b/java/java-tests/java-tests.iml
@@ -30,6 +30,7 @@
+
diff --git a/java/java-tests/testSrc/com/intellij/ide/hierarchy/JavaCallHierarchyTest.java b/java/java-tests/testSrc/com/intellij/ide/hierarchy/JavaCallHierarchyTest.java
index aebc9e00bd9b..fcdad698aedd 100644
--- a/java/java-tests/testSrc/com/intellij/ide/hierarchy/JavaCallHierarchyTest.java
+++ b/java/java-tests/testSrc/com/intellij/ide/hierarchy/JavaCallHierarchyTest.java
@@ -1,12 +1,15 @@
package com.intellij.ide.hierarchy;
import com.intellij.JavaTestUtil;
+import com.intellij.ide.hierarchy.actions.BrowseTypeHierarchyAction;
import com.intellij.ide.hierarchy.call.CallerMethodsTreeStructure;
+import com.intellij.ide.highlighter.XmlFileType;
import com.intellij.openapi.util.Computable;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.search.ProjectScope;
+import com.intellij.testFramework.TestActionEvent;
import com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestBase;
/**
@@ -53,4 +56,12 @@ public class JavaCallHierarchyTest extends HierarchyViewTestBase {
public void testIdeaDev41232() throws Exception {
doJavaCallTypeHierarchyTest("A", "main", "B.java", "A.java");
}
+
+ public void testActionAvailableInXml() throws Exception {
+ configureByText(XmlFileType.INSTANCE, "java.lang.String");
+ BrowseTypeHierarchyAction action = new BrowseTypeHierarchyAction();
+ TestActionEvent e = new TestActionEvent(action);
+ action.beforeActionPerformedUpdate(e);
+ assertTrue(e.getPresentation().isEnabled() && e.getPresentation().isVisible());
+ }
}
diff --git a/platform/lang-impl/src/com/intellij/ide/hierarchy/actions/BrowseHierarchyActionBase.java b/platform/lang-impl/src/com/intellij/ide/hierarchy/actions/BrowseHierarchyActionBase.java
index 7a300861b081..006b99bf93dc 100644
--- a/platform/lang-impl/src/com/intellij/ide/hierarchy/actions/BrowseHierarchyActionBase.java
+++ b/platform/lang-impl/src/com/intellij/ide/hierarchy/actions/BrowseHierarchyActionBase.java
@@ -115,7 +115,7 @@ public abstract class BrowseHierarchyActionBase extends AnAction {
@Nullable
private HierarchyProvider getProvider(final AnActionEvent e) {
- return findBestHierarchyProvider(myExtension, e.getData(CommonDataKeys.PSI_FILE), e.getDataContext());
+ return findBestHierarchyProvider(myExtension, e.getData(CommonDataKeys.PSI_ELEMENT), e.getDataContext());
}
@Nullable