diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyBrowser.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyBrowser.kt index a22038e4e48..b40944b9e32 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyBrowser.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyBrowser.kt @@ -15,6 +15,9 @@ */ package org.jetbrains.kotlin.idea.hierarchy.calls +import com.intellij.ide.hierarchy.CallHierarchyBrowserBase +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.ide.hierarchy.JavaHierarchyUtil import com.intellij.ide.util.treeView.NodeDescriptor import com.intellij.openapi.actionSystem.ActionGroup @@ -30,7 +33,7 @@ import javax.swing.JTree class KotlinCallHierarchyBrowser(element: PsiElement) : CallHierarchyBrowserBase(element.project, element) { - override fun createTrees(trees: MutableMap) { + override fun createTrees(trees: MutableMap) { val group = ActionManager.getInstance().getAction(IdeActions.GROUP_CALL_HIERARCHY_POPUP) as ActionGroup val baseOnThisMethodAction = BaseOnThisMethodAction() @@ -45,7 +48,7 @@ class KotlinCallHierarchyBrowser(element: PsiElement) : ActionManager.getInstance().getAction(IdeActions.ACTION_CALL_HIERARCHY).shortcutSet, tree1 ) - trees[getCalleeTypeCompat()] = tree1 + trees[CALLEE_TYPE] = tree1 val tree2 = createTree(false) PopupHandler.installPopupHandler( @@ -58,7 +61,7 @@ class KotlinCallHierarchyBrowser(element: PsiElement) : ActionManager.getInstance().getAction(IdeActions.ACTION_CALL_HIERARCHY).shortcutSet, tree2 ) - trees[getCallerTypeCompat()] = tree2 + trees[CALLER_TYPE] = tree2 } override fun getElementFromDescriptor(descriptor: HierarchyNodeDescriptor): PsiElement? { @@ -70,13 +73,13 @@ class KotlinCallHierarchyBrowser(element: PsiElement) : } override fun createHierarchyTreeStructure( - type: HierarchyScopeType, + type: String, psiElement: PsiElement ): HierarchyTreeStructure? { if (psiElement !is KtElement) return null return when (type) { - getCallerTypeCompat() -> KotlinCallerTreeStructure(psiElement, currentScopeType) - getCalleeTypeCompat() -> KotlinCalleeTreeStructure(psiElement, currentScopeType) + CALLER_TYPE -> KotlinCallerTreeStructure(psiElement, currentScopeType) + CALLEE_TYPE -> KotlinCalleeTreeStructure(psiElement, currentScopeType) else -> null } } diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyNodeDescriptor.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyNodeDescriptor.kt index d85a10b2280..eb73d20123d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyNodeDescriptor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyNodeDescriptor.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.idea.hierarchy.calls import com.intellij.icons.AllIcons import com.intellij.ide.IdeBundle +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor import com.intellij.ide.hierarchy.call.CallHierarchyNodeDescriptor import com.intellij.openapi.editor.markup.TextAttributes import com.intellij.openapi.roots.ui.util.CompositeAppearance diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyProvider.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyProvider.kt index c561af31f96..4b589b669a5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallHierarchyProvider.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.hierarchy.calls +import com.intellij.ide.hierarchy.CallHierarchyBrowserBase import com.intellij.ide.hierarchy.HierarchyBrowser import com.intellij.ide.hierarchy.HierarchyProvider import com.intellij.openapi.actionSystem.DataContext @@ -34,6 +35,6 @@ class KotlinCallHierarchyProvider : HierarchyProvider { override fun createHierarchyBrowser(target: PsiElement) = KotlinCallHierarchyBrowser(target) override fun browserActivated(hierarchyBrowser: HierarchyBrowser) { - (hierarchyBrowser as KotlinCallHierarchyBrowser).changeView(getCallerTypeCompat()) + (hierarchyBrowser as KotlinCallHierarchyBrowser).changeView(CallHierarchyBrowserBase.CALLER_TYPE) } } \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallReferenceProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallReferenceProcessor.kt index 74630a36ac6..d7d9d5f9878 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallReferenceProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallReferenceProcessor.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.idea.hierarchy.calls +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor import com.intellij.ide.hierarchy.call.CallReferenceProcessor import com.intellij.ide.hierarchy.call.JavaCallHierarchyData import com.intellij.ide.util.treeView.NodeDescriptor diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCalleeTreeStructure.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCalleeTreeStructure.kt index d9eb6cd84b9..7a2b417446a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCalleeTreeStructure.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCalleeTreeStructure.kt @@ -5,6 +5,8 @@ package org.jetbrains.kotlin.idea.hierarchy.calls +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.ide.hierarchy.call.CallHierarchyNodeDescriptor import com.intellij.ide.util.treeView.NodeDescriptor import com.intellij.psi.PsiElement diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallerTreeStructure.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallerTreeStructure.kt index 4092050c95d..8efa5bda2d8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallerTreeStructure.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/KotlinCallerTreeStructure.kt @@ -6,6 +6,8 @@ package org.jetbrains.kotlin.idea.hierarchy.calls import com.intellij.find.findUsages.JavaFindUsagesOptions +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.ide.hierarchy.call.CallHierarchyNodeDescriptor import com.intellij.ide.util.treeView.NodeDescriptor import com.intellij.psi.PsiElement diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/callHierarchyUtils.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/callHierarchyUtils.kt index a58e239980f..25b87faf3ab 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/callHierarchyUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/callHierarchyUtils.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.idea.hierarchy.calls +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor import com.intellij.ide.hierarchy.call.CallHierarchyNodeDescriptor import com.intellij.ide.util.treeView.NodeDescriptor import com.intellij.psi.PsiElement diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt index 43d74d719ae..5099f69ebc8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt @@ -13,21 +13,11 @@ import com.intellij.openapi.project.Project import com.intellij.psi.PsiMethod // BUNCH: 193 -typealias HierarchyNodeDescriptor = com.intellij.ide.hierarchy.HierarchyNodeDescriptor -typealias HierarchyTreeStructure = com.intellij.ide.hierarchy.HierarchyTreeStructure -typealias CallHierarchyBrowserBase = com.intellij.ide.hierarchy.CallHierarchyBrowserBase -typealias HierarchyScopeType = String -typealias HierarchyBrowserBaseEx = com.intellij.ide.hierarchy.HierarchyBrowserBaseEx -typealias MethodHierarchyBrowserBase = com.intellij.ide.hierarchy.MethodHierarchyBrowserBase - -fun getCallerTypeCompat(): String = CallHierarchyBrowserBase.CALLER_TYPE -fun getCalleeTypeCompat(): String = CallHierarchyBrowserBase.CALLEE_TYPE -fun getMethodTypeCompat(): String = MethodHierarchyBrowserBase.METHOD_TYPE - fun createCallerMethodsTreeStructure(project: Project, method: PsiMethod, scopeType: String): CallerMethodsTreeStructure { return CallerMethodsTreeStructure(project, method, scopeType) } +// BUNCH: 193 fun createCalleeMethodsTreeStructure(project: Project, method: PsiMethod, scopeType: String): CalleeMethodsTreeStructure { return CalleeMethodsTreeStructure(project, method, scopeType) } diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt.201 b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt.201 index 8aa690b3bad..b5b7c0f65ce 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt.201 +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/calls/compat.kt.201 @@ -14,21 +14,11 @@ import com.intellij.psi.PsiMember import com.intellij.psi.PsiMethod // BUNCH: 193 -typealias HierarchyNodeDescriptor = com.intellij.ide.hierarchy.HierarchyNodeDescriptor -typealias HierarchyTreeStructure = com.intellij.ide.hierarchy.HierarchyTreeStructure -typealias CallHierarchyBrowserBase = com.intellij.ide.hierarchy.CallHierarchyBrowserBase -typealias HierarchyScopeType = String -typealias HierarchyBrowserBaseEx = com.intellij.ide.hierarchy.HierarchyBrowserBaseEx -typealias MethodHierarchyBrowserBase = com.intellij.ide.hierarchy.MethodHierarchyBrowserBase - -fun getCallerTypeCompat(): String = CallHierarchyBrowserBase.CALLER_TYPE -fun getCalleeTypeCompat(): String = CallHierarchyBrowserBase.CALLEE_TYPE -fun getMethodTypeCompat(): String = MethodHierarchyBrowserBase.METHOD_TYPE - fun createCallerMethodsTreeStructure(project: Project, method: PsiMethod, scopeType: String): CallerMethodsTreeStructure { return CallerMethodsTreeStructure(project, method as PsiMember, scopeType) } +// BUNCH: 193 fun createCalleeMethodsTreeStructure(project: Project, method: PsiMethod, scopeType: String): CalleeMethodsTreeStructure { return CalleeMethodsTreeStructure(project, method as PsiMember, scopeType) } diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyBrowser.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyBrowser.kt index 928326e52cf..9c0eb157acb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyBrowser.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyBrowser.kt @@ -16,7 +16,10 @@ package org.jetbrains.kotlin.idea.hierarchy.overrides +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.ide.hierarchy.JavaHierarchyUtil +import com.intellij.ide.hierarchy.MethodHierarchyBrowserBase import com.intellij.openapi.actionSystem.ActionGroup import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.ActionPlaces @@ -28,7 +31,6 @@ import com.intellij.ui.PopupHandler import com.intellij.usageView.UsageViewLongNameLocation import org.jetbrains.kotlin.asJava.unwrapped import org.jetbrains.kotlin.idea.KotlinBundle -import org.jetbrains.kotlin.idea.hierarchy.calls.* import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.psi.KtDeclaration import javax.swing.JPanel @@ -37,7 +39,7 @@ import javax.swing.JTree class KotlinOverrideHierarchyBrowser( project: Project, baseElement: PsiElement ) : MethodHierarchyBrowserBase(project, baseElement) { - override fun createTrees(trees: MutableMap) { + override fun createTrees(trees: MutableMap) { val actionManager = ActionManager.getInstance() val tree = createTree(false) @@ -47,7 +49,7 @@ class KotlinOverrideHierarchyBrowser( BaseOnThisMethodAction().registerCustomShortcutSet(actionManager.getAction(IdeActions.ACTION_METHOD_HIERARCHY).shortcutSet, tree) - trees[getMethodTypeCompat()] = tree + trees[METHOD_TYPE] = tree } override fun createLegendPanel(): JPanel? = @@ -62,8 +64,8 @@ class KotlinOverrideHierarchyBrowser( override fun isApplicableElement(psiElement: PsiElement): Boolean = psiElement.isOverrideHierarchyElement() - override fun createHierarchyTreeStructure(typeName: HierarchyScopeType, psiElement: PsiElement): HierarchyTreeStructure? = - if (typeName == getMethodTypeCompat()) KotlinOverrideTreeStructure(myProject, psiElement as KtCallableDeclaration) else null + override fun createHierarchyTreeStructure(typeName: String, psiElement: PsiElement): HierarchyTreeStructure? = + if (typeName == METHOD_TYPE) KotlinOverrideTreeStructure(myProject, psiElement as KtCallableDeclaration) else null override fun getComparator() = JavaHierarchyUtil.getComparator(myProject) diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyNodeDescriptor.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyNodeDescriptor.kt index df006b6ccc8..0fe7b1b224d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyNodeDescriptor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideHierarchyNodeDescriptor.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.hierarchy.overrides import com.intellij.icons.AllIcons import com.intellij.ide.IdeBundle +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor import com.intellij.openapi.editor.markup.TextAttributes import com.intellij.openapi.roots.ui.util.CompositeAppearance import com.intellij.openapi.util.Comparing @@ -29,7 +30,6 @@ import com.intellij.ui.RowIcon import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaMemberDescriptor -import org.jetbrains.kotlin.idea.hierarchy.calls.HierarchyNodeDescriptor import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.psi.psiUtil.createSmartPointer import org.jetbrains.kotlin.resolve.DescriptorUtils diff --git a/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideTreeStructure.kt b/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideTreeStructure.kt index 93da4602a01..09a649311bb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideTreeStructure.kt +++ b/idea/src/org/jetbrains/kotlin/idea/hierarchy/overrides/KotlinOverrideTreeStructure.kt @@ -6,11 +6,11 @@ package org.jetbrains.kotlin.idea.hierarchy.overrides import com.intellij.icons.AllIcons +import com.intellij.ide.hierarchy.HierarchyNodeDescriptor +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.openapi.project.Project import com.intellij.util.ArrayUtil import org.jetbrains.kotlin.asJava.unwrapped -import org.jetbrains.kotlin.idea.hierarchy.calls.HierarchyNodeDescriptor -import org.jetbrains.kotlin.idea.hierarchy.calls.HierarchyTreeStructure import org.jetbrains.kotlin.idea.search.declarationsSearch.HierarchySearchRequest import org.jetbrains.kotlin.idea.search.declarationsSearch.searchInheritors import org.jetbrains.kotlin.psi.KtCallableDeclaration diff --git a/idea/tests/org/jetbrains/kotlin/idea/KotlinHierarchyViewTestBase.kt b/idea/tests/org/jetbrains/kotlin/idea/KotlinHierarchyViewTestBase.kt index 12bb8cbfeb4..55e9f14df40 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/KotlinHierarchyViewTestBase.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/KotlinHierarchyViewTestBase.kt @@ -4,10 +4,10 @@ */ package org.jetbrains.kotlin.idea +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.openapi.util.Computable import com.intellij.openapi.util.io.FileUtil import com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestFixture -import org.jetbrains.kotlin.idea.hierarchy.calls.HierarchyTreeStructure import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner import org.junit.runner.RunWith diff --git a/idea/tests/org/jetbrains/kotlin/idea/compat.kt b/idea/tests/org/jetbrains/kotlin/idea/compat.kt index 6a662736453..7b310c7a152 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/compat.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/compat.kt @@ -5,9 +5,9 @@ package org.jetbrains.kotlin.idea +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.openapi.util.Computable import com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestFixture -import org.jetbrains.kotlin.idea.hierarchy.calls.HierarchyTreeStructure // BUNCH: 193 @Suppress("UNUSED_PARAMETER") diff --git a/idea/tests/org/jetbrains/kotlin/idea/compat.kt.192 b/idea/tests/org/jetbrains/kotlin/idea/compat.kt.192 index 737290be428..0ef6f5408ca 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/compat.kt.192 +++ b/idea/tests/org/jetbrains/kotlin/idea/compat.kt.192 @@ -5,9 +5,9 @@ package org.jetbrains.kotlin.idea +import com.intellij.ide.hierarchy.HierarchyTreeStructure import com.intellij.openapi.util.Computable import com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestFixture -import org.jetbrains.kotlin.idea.hierarchy.calls.HierarchyTreeStructure // BUNCH: 193 @Suppress("UNUSED_PARAMETER") diff --git a/idea/tests/org/jetbrains/kotlin/idea/hierarchy/AbstractHierarchyTest.kt b/idea/tests/org/jetbrains/kotlin/idea/hierarchy/AbstractHierarchyTest.kt index 7f23066397d..4a839c3369a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/hierarchy/AbstractHierarchyTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/hierarchy/AbstractHierarchyTest.kt @@ -4,10 +4,7 @@ */ package org.jetbrains.kotlin.idea.hierarchy -import com.intellij.ide.hierarchy.HierarchyProvider -import com.intellij.ide.hierarchy.LanguageCallHierarchy -import com.intellij.ide.hierarchy.LanguageMethodHierarchy -import com.intellij.ide.hierarchy.LanguageTypeHierarchy +import com.intellij.ide.hierarchy.* import com.intellij.ide.hierarchy.actions.BrowseHierarchyActionBase import com.intellij.ide.hierarchy.type.SubtypesHierarchyTreeStructure import com.intellij.ide.hierarchy.type.SupertypesHierarchyTreeStructure @@ -30,7 +27,9 @@ import com.intellij.util.ArrayUtil import junit.framework.ComparisonFailure import junit.framework.TestCase import org.jetbrains.kotlin.idea.KotlinHierarchyViewTestBase -import org.jetbrains.kotlin.idea.hierarchy.calls.* +import org.jetbrains.kotlin.idea.hierarchy.calls.KotlinCalleeTreeStructure +import org.jetbrains.kotlin.idea.hierarchy.calls.KotlinCallerTreeStructure +import org.jetbrains.kotlin.idea.hierarchy.calls.createCallerMethodsTreeStructure import org.jetbrains.kotlin.idea.hierarchy.overrides.KotlinOverrideTreeStructure import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.psi.KtCallableDeclaration