diff --git a/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java b/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java index 3494752647ae..2f67972d00db 100644 --- a/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java +++ b/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java @@ -66,7 +66,10 @@ public abstract class NodeDescriptor { public abstract E getElement(); public String toString() { - return String.valueOf(myName); + // NB!: this method may return null if node is not valid + // it contradicts the specification, but the fix breaks existing behaviour + // see com.intellij.ide.util.FileStructurePopup#getSpeedSearchText + return myName; } /** diff --git a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java index 417d3685244a..eb7e60f7deee 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java +++ b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java @@ -996,7 +996,8 @@ public class FileStructurePopup implements Disposable, TreeActionsOwner { } return text; } - + // NB!: this point is achievable if the following method returns null + // see com.intellij.ide.util.treeView.NodeDescriptor.toString if (userObject instanceof StructureViewComponent.StructureViewTreeElementWrapper) { return ApplicationManager.getApplication().runReadAction(new Computable() { @Nullable