mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Show base classes in structure view (PY-3370)
This commit is contained in:
@@ -149,6 +149,24 @@ public class PyStructureViewElement implements StructureViewTreeElement {
|
||||
ParamHelper.appendParameterList(argList, result);
|
||||
return result.toString();
|
||||
}
|
||||
else if (myElement instanceof PyClass) {
|
||||
PyClass c = (PyClass) myElement;
|
||||
StringBuilder result = new StringBuilder(c.getName());
|
||||
PyClass[] superClasses = c.getSuperClasses();
|
||||
int n = superClasses.length;
|
||||
if (n > 0) {
|
||||
result.append("(");
|
||||
for (int i = 0; i < n; i++) {
|
||||
c = superClasses[i];
|
||||
result.append(c.getName());
|
||||
if (i != n - 1) {
|
||||
result.append(", ");
|
||||
}
|
||||
}
|
||||
result.append(")");
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
return myElement.getName();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
class B1:
|
||||
def f(self, x):
|
||||
return x + self.y
|
||||
|
||||
class B2(object):
|
||||
@staticmethod
|
||||
def g(x):
|
||||
return x
|
||||
|
||||
class C(B1, B2):
|
||||
pass
|
||||
|
||||
class D1(C):
|
||||
pass
|
||||
|
||||
class D2(C):
|
||||
pass
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.jetbrains.python;
|
||||
|
||||
import com.intellij.ide.structureView.newStructureView.StructureViewComponent;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.jetbrains.python.fixtures.PyLightFixtureTestCase;
|
||||
|
||||
import static com.intellij.testFramework.PlatformTestUtil.assertTreeEqual;
|
||||
|
||||
/**
|
||||
* @author vlan
|
||||
*/
|
||||
public class PyStructureViewTest extends PyLightFixtureTestCase {
|
||||
public void testBaseClassNames() {
|
||||
myFixture.configureByFile("structureView/baseClassNames.py");
|
||||
myFixture.testStructureView(new Consumer<StructureViewComponent>() {
|
||||
@Override
|
||||
public void consume(StructureViewComponent component) {
|
||||
assertTreeEqual(component.getTree(), "-baseClassNames.py\n" +
|
||||
" -B1\n" +
|
||||
" f(self, x)\n" +
|
||||
" -B2(object)\n" +
|
||||
" g(x)\n" +
|
||||
" C(B1, B2)\n" +
|
||||
" D1(C)\n" +
|
||||
" D2(C)\n");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user