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