diff options
Diffstat (limited to 'python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java')
-rw-r--r-- | python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java b/python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java index 6707ac9b7e14..0eb505f4857b 100644 --- a/python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java +++ b/python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java @@ -16,8 +16,7 @@ package com.jetbrains.python.hierarchy.treestructures; import com.intellij.ide.hierarchy.HierarchyNodeDescriptor; -import com.intellij.openapi.project.Project; -import com.jetbrains.python.hierarchy.PyTypeHierarchyNodeDescriptor; +import com.jetbrains.python.hierarchy.PyHierarchyNodeDescriptor; import com.jetbrains.python.psi.PyClass; import com.jetbrains.python.psi.PyUtil; import org.jetbrains.annotations.NotNull; @@ -28,30 +27,26 @@ import java.util.List; * @author Alexey.Ivanov */ public class PyTypeHierarchyTreeStructure extends PySubTypesHierarchyTreeStructure { - private static PyTypeHierarchyNodeDescriptor buildHierarchyElement(@NotNull final PyClass cl) { - PyTypeHierarchyNodeDescriptor descriptor = null; + public PyTypeHierarchyTreeStructure(@NotNull final PyClass cl) { + super(cl.getProject(), buildHierarchyElement(cl)); + setBaseElement(myBaseDescriptor); + } + + private static PyHierarchyNodeDescriptor buildHierarchyElement(@NotNull final PyClass cl) { + PyHierarchyNodeDescriptor descriptor = null; List<PyClass> superClasses = PyUtil.getAllSuperClasses(cl); for (int i = superClasses.size() - 1; i >= 0; --i) { final PyClass superClass = superClasses.get(i); - final PyTypeHierarchyNodeDescriptor newDescriptor = new PyTypeHierarchyNodeDescriptor(descriptor, superClass, false); + final PyHierarchyNodeDescriptor newDescriptor = new PyHierarchyNodeDescriptor(descriptor, superClass, false); if (descriptor != null) { - descriptor.setCachedChildren(new PyTypeHierarchyNodeDescriptor[]{newDescriptor}); + descriptor.setCachedChildren(new PyHierarchyNodeDescriptor[]{newDescriptor}); } descriptor = newDescriptor; } - final PyTypeHierarchyNodeDescriptor newDescriptor = new PyTypeHierarchyNodeDescriptor(descriptor, cl, true); + final PyHierarchyNodeDescriptor newDescriptor = new PyHierarchyNodeDescriptor(descriptor, cl, true); if (descriptor != null) { descriptor.setCachedChildren(new HierarchyNodeDescriptor[]{newDescriptor}); } return newDescriptor; } - - protected PyTypeHierarchyTreeStructure(final Project project, final HierarchyNodeDescriptor baseDescriptor) { - super(project, baseDescriptor); - } - - public PyTypeHierarchyTreeStructure(@NotNull final PyClass cl) { - super(cl.getProject(), buildHierarchyElement(cl)); - setBaseElement(myBaseDescriptor); - } } |