diff --git a/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java b/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java index 33c44d44918b..bcc25a685906 100644 --- a/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java +++ b/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java @@ -237,7 +237,7 @@ public class PackageViewPane extends AbstractProjectViewPSIPane { } @Override - public boolean addSubtreeToUpdateByElement(Object element) { + public boolean addSubtreeToUpdateByElement(@NotNull Object element) { // should convert PsiDirectories into PackageElements if (element instanceof PsiDirectory) { PsiDirectory dir = (PsiDirectory)element; @@ -277,6 +277,7 @@ public class PackageViewPane extends AbstractProjectViewPSIPane { return addedOk; } + @NotNull private Object getTreeElementToUpdateFrom(PsiPackage packageToUpdateFrom, Module module) { if (packageToUpdateFrom == null || !packageToUpdateFrom.isValid() || "".equals(packageToUpdateFrom.getQualifiedName())) { return module == null ? myTreeStructure.getRootElement() : module; diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewPane.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewPane.java index 21c69d0ed46f..e19b6b2a9732 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewPane.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewPane.java @@ -186,7 +186,7 @@ public class ProjectViewPane extends AbstractProjectViewPSIPane { } @Override - public boolean addSubtreeToUpdateByElement(Object element) { + public boolean addSubtreeToUpdateByElement(@NotNull Object element) { if (element instanceof PsiDirectory && !myProject.isDisposed()) { final PsiDirectory dir = (PsiDirectory)element; final ProjectTreeStructure treeStructure = (ProjectTreeStructure)myTreeStructure; diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeBuilder.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeBuilder.java index c7760e92cd57..69e26eaab454 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeBuilder.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeBuilder.java @@ -144,7 +144,7 @@ public class AbstractTreeBuilder implements Disposable { return ui == null ? null : ui.getUpdater(); } - public final boolean addSubtreeToUpdateByElement(Object element) { + public final boolean addSubtreeToUpdateByElement(@NotNull Object element) { AbstractTreeUpdater updater = getUpdater(); return updater != null && updater.addSubtreeToUpdateByElement(element); } diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java index 0453f6b5fbf9..6d2d5fd8bbf2 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java @@ -1116,7 +1116,8 @@ public class AbstractTreeUi { .onSuccess(changes -> { if (!isValid(descriptor)) { if (isInStructure(prevElement)) { - getUpdater().addSubtreeToUpdateByElement(getTreeStructure().getParentElement(prevElement)); + Object toUpdate = ObjectUtils.notNull(getTreeStructure().getParentElement(prevElement), getTreeStructure().getRootElement()); + getUpdater().addSubtreeToUpdateByElement(toUpdate); return; } } diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUpdater.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUpdater.java index 824d5070d333..f2dbb515641a 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUpdater.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUpdater.java @@ -285,7 +285,7 @@ public class AbstractTreeUpdater implements Disposable, Activatable { * @deprecated use {@link AbstractTreeBuilder#queueUpdateFrom(Object, boolean)} */ @Deprecated - public boolean addSubtreeToUpdateByElement(Object element) { + public boolean addSubtreeToUpdateByElement(@NotNull Object element) { DefaultMutableTreeNode node = myTreeBuilder.getNodeForElement(element); if (node != null) { myTreeBuilder.queueUpdateFrom(element, false);