mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
make AbstractTreeUpdater.addSubtreeToUpdateByElement parameter notnull to avoid NPEs
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user