summaryrefslogtreecommitdiff
path: root/python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java
diff options
context:
space:
mode:
Diffstat (limited to 'python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java')
-rw-r--r--python/src/com/jetbrains/python/hierarchy/treestructures/PyTypeHierarchyTreeStructure.java27
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);
- }
}