summaryrefslogtreecommitdiff
path: root/python/src/com/jetbrains/python/structureView/PyStructureViewElement.java
diff options
context:
space:
mode:
Diffstat (limited to 'python/src/com/jetbrains/python/structureView/PyStructureViewElement.java')
-rw-r--r--python/src/com/jetbrains/python/structureView/PyStructureViewElement.java33
1 files changed, 6 insertions, 27 deletions
diff --git a/python/src/com/jetbrains/python/structureView/PyStructureViewElement.java b/python/src/com/jetbrains/python/structureView/PyStructureViewElement.java
index 93c44f7f2a17..de9f7bf5a5ca 100644
--- a/python/src/com/jetbrains/python/structureView/PyStructureViewElement.java
+++ b/python/src/com/jetbrains/python/structureView/PyStructureViewElement.java
@@ -23,7 +23,6 @@ import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.ui.LayeredIcon;
-import com.intellij.util.Function;
import com.jetbrains.python.PyNames;
import com.jetbrains.python.psi.*;
import icons.PythonIcons;
@@ -33,9 +32,6 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.*;
-import static com.intellij.openapi.util.text.StringUtil.join;
-import static com.intellij.openapi.util.text.StringUtil.notNullize;
-
/**
* Handles nodes in Structure View.
* @author yole
@@ -237,32 +233,15 @@ public class PyStructureViewElement implements StructureViewTreeElement {
@NotNull
@Override
public ItemPresentation getPresentation() {
+ final ItemPresentation presentation = myElement.getPresentation();
return new ColoredItemPresentation() {
+ @Nullable
+ @Override
public String getPresentableText() {
- final String unnamed = "<unnamed>";
- if (myElement instanceof PyFunction) {
- PyParameterList argList = ((PyFunction) myElement).getParameterList();
- StringBuilder result = new StringBuilder(notNullize(myElement.getName(), unnamed));
- result.append(argList.getPresentableText(true));
- return result.toString();
- }
- else if (myElement instanceof PyClass && myElement.isValid()) {
- PyClass c = (PyClass) myElement;
- StringBuilder result = new StringBuilder(notNullize(c.getName(), unnamed));
- PyExpression[] superClassExpressions = c.getSuperClassExpressions();
- if (superClassExpressions.length > 0) {
- result.append("(");
- result.append(join(Arrays.asList(superClassExpressions), new Function<PyExpression, String>() {
- public String fun(PyExpression expr) {
- String name = expr.getText();
- return notNullize(name, unnamed);
- }
- }, ", "));
- result.append(")");
- }
- return result.toString();
+ if (myElement instanceof PyFile) {
+ return myElement.getName();
}
- return notNullize(myElement.getName(), unnamed);
+ return presentation != null ? presentation.getPresentableText() : PyNames.UNNAMED_ELEMENT;
}
@Nullable