mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Deprecate method to add PSI tree change listener without parent disposable, specify parent disposable whenever possible
GitOrigin-RevId: f72ffbb4a0f71662aa1cca0f3c84b49b4df9cf2f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3cb13616e8
commit
2a759fa868
@@ -82,7 +82,9 @@ public abstract class PsiManager extends UserDataHolderBase {
|
||||
* Adds a listener for receiving notifications about all changes in the PSI tree of the project.
|
||||
*
|
||||
* @param listener the listener instance.
|
||||
* @deprecated Please use the overload with specified parent disposable
|
||||
*/
|
||||
@Deprecated
|
||||
public abstract void addPsiTreeChangeListener(@NotNull PsiTreeChangeListener listener);
|
||||
|
||||
/**
|
||||
|
||||
@@ -73,7 +73,7 @@ public abstract class PsiDocumentManagerBase extends PsiDocumentManager implemen
|
||||
myPsiManager = PsiManager.getInstance(project);
|
||||
myDocumentCommitProcessor = ApplicationManager.getApplication().getService(DocumentCommitProcessor.class);
|
||||
mySynchronizer = new PsiToDocumentSynchronizer(this, project.getMessageBus());
|
||||
myPsiManager.addPsiTreeChangeListener(mySynchronizer);
|
||||
myPsiManager.addPsiTreeChangeListener(mySynchronizer, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeStructure;
|
||||
import com.intellij.ide.util.treeView.IndexComparator;
|
||||
import com.intellij.ide.util.treeView.NodeDescriptor;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -24,7 +25,7 @@ import java.util.concurrent.TimeUnit;
|
||||
/**
|
||||
* @author Eugene Belyaev
|
||||
*/
|
||||
public abstract class AbstractListBuilder {
|
||||
public abstract class AbstractListBuilder implements Disposable {
|
||||
protected final Project myProject;
|
||||
protected final JList myList;
|
||||
protected final Model myModel;
|
||||
@@ -252,6 +253,7 @@ public abstract class AbstractListBuilder {
|
||||
|
||||
protected abstract List<AbstractTreeNode<?>> getAllAcceptableNodes(Object[] childElements, VirtualFile file);
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
myIsDisposed = true;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.openapi.wm.ToolWindowManager;
|
||||
@@ -410,7 +411,7 @@ public class CommanderPanel extends JPanel {
|
||||
|
||||
public final void dispose() {
|
||||
if (myBuilder != null) {
|
||||
myBuilder.dispose();
|
||||
Disposer.dispose(myBuilder);
|
||||
myBuilder = null;
|
||||
}
|
||||
myProject = null;
|
||||
|
||||
@@ -42,7 +42,7 @@ public class ProjectListBuilder extends AbstractListBuilder {
|
||||
myUpdateAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD, myProject);
|
||||
|
||||
myPsiTreeChangeListener = new MyPsiTreeChangeListener();
|
||||
PsiManager.getInstance(myProject).addPsiTreeChangeListener(myPsiTreeChangeListener);
|
||||
PsiManager.getInstance(myProject).addPsiTreeChangeListener(myPsiTreeChangeListener, this);
|
||||
myFileStatusListener = new MyFileStatusListener();
|
||||
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener);
|
||||
myCopyPasteListener = new MyCopyPasteListener();
|
||||
@@ -88,7 +88,6 @@ public class ProjectListBuilder extends AbstractListBuilder {
|
||||
@Override
|
||||
public void dispose() {
|
||||
super.dispose();
|
||||
PsiManager.getInstance(myProject).removePsiTreeChangeListener(myPsiTreeChangeListener);
|
||||
FileStatusManager.getInstance(myProject).removeFileStatusListener(myFileStatusListener);
|
||||
CopyPasteManager.getInstance().removeContentChangedListener(myCopyPasteListener);
|
||||
}
|
||||
|
||||
@@ -29,8 +29,6 @@ import com.intellij.openapi.editor.colors.CodeInsightColors;
|
||||
import com.intellij.openapi.editor.colors.EditorColorsManager;
|
||||
import com.intellij.openapi.editor.markup.EffectType;
|
||||
import com.intellij.openapi.editor.markup.TextAttributes;
|
||||
import com.intellij.openapi.extensions.ExtensionPointListener;
|
||||
import com.intellij.openapi.extensions.PluginDescriptor;
|
||||
import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.openapi.ide.CopyPasteManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -66,7 +64,6 @@ import com.intellij.util.ui.update.MergingUpdateQueue;
|
||||
import com.intellij.util.ui.update.UiNotifyConnector;
|
||||
import com.intellij.util.ui.update.Update;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import kotlin.Unit;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -173,7 +170,7 @@ public class ScopeTreeViewPanel extends JPanel implements Disposable {
|
||||
public void initListeners() {
|
||||
final MessageBusConnection connection = myProject.getMessageBus().connect(this);
|
||||
connection.subscribe(ProjectTopics.PROJECT_ROOTS, new MyModuleRootListener());
|
||||
PsiManager.getInstance(myProject).addPsiTreeChangeListener(myPsiTreeChangeAdapter);
|
||||
PsiManager.getInstance(myProject).addPsiTreeChangeListener(myPsiTreeChangeAdapter, this);
|
||||
connection.subscribe(ProblemListener.TOPIC, new MyProblemListener());
|
||||
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener, this);
|
||||
}
|
||||
@@ -181,7 +178,6 @@ public class ScopeTreeViewPanel extends JPanel implements Disposable {
|
||||
@Override
|
||||
public void dispose() {
|
||||
FileTreeModelBuilder.clearCaches(myProject);
|
||||
PsiManager.getInstance(myProject).removePsiTreeChangeListener(myPsiTreeChangeAdapter);
|
||||
}
|
||||
|
||||
public void selectNode(final PsiElement element, final PsiFileSystemItem file, final boolean requestFocus) {
|
||||
|
||||
@@ -15,7 +15,6 @@ import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.highlighter.EditorHighlighter;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.IndexNotReadyException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
@@ -94,7 +93,7 @@ public abstract class TodoTreeBuilder implements Disposable {
|
||||
|
||||
PsiManager psiManager = PsiManager.getInstance(myProject);
|
||||
mySearchHelper = PsiTodoSearchHelper.SERVICE.getInstance(myProject);
|
||||
psiManager.addPsiTreeChangeListener(new MyPsiTreeChangeListener());
|
||||
psiManager.addPsiTreeChangeListener(new MyPsiTreeChangeListener(), this);
|
||||
|
||||
myFileStatusListener = new MyFileStatusListener();
|
||||
|
||||
|
||||
+7
-2
@@ -3,6 +3,7 @@ package com.intellij.lang.properties;
|
||||
|
||||
import com.intellij.lang.properties.editor.ResourceBundleAsVirtualFile;
|
||||
import com.intellij.lang.properties.psi.PropertiesFile;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.components.PersistentStateComponent;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
@@ -28,7 +29,7 @@ import java.util.Set;
|
||||
* @author Dmitry Batkovich
|
||||
*/
|
||||
@State(name = "ResourceBundleManager", storages = @Storage("resourceBundles.xml"))
|
||||
public final class ResourceBundleManager implements PersistentStateComponent<ResourceBundleManagerState> {
|
||||
public final class ResourceBundleManager implements PersistentStateComponent<ResourceBundleManagerState>, Disposable {
|
||||
private final static Logger LOG = Logger.getInstance(ResourceBundleManager.class);
|
||||
|
||||
private ResourceBundleManagerState myState = new ResourceBundleManagerState();
|
||||
@@ -157,7 +158,11 @@ public final class ResourceBundleManager implements PersistentStateComponent<Res
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
}
|
||||
|
||||
public static ResourceBundleManager getInstance(final Project project) {
|
||||
|
||||
@@ -87,7 +87,7 @@ import java.util.*;
|
||||
* @author Anton Katilin
|
||||
* @author Vladimir Kondratyev
|
||||
*/
|
||||
public final class GuiEditor extends JPanel implements DesignerEditorPanelFacade, DataProvider, ModuleProvider {
|
||||
public final class GuiEditor extends JPanel implements DesignerEditorPanelFacade, DataProvider, ModuleProvider, Disposable {
|
||||
private static final Logger LOG = Logger.getInstance(GuiEditor.class);
|
||||
|
||||
private final Project myProject;
|
||||
@@ -337,7 +337,7 @@ public final class GuiEditor extends JPanel implements DesignerEditorPanelFacade
|
||||
|
||||
// PSI listener to restart error highlighter
|
||||
myPsiTreeChangeListener = new MyPsiTreeChangeListener();
|
||||
PsiManager.getInstance(getProject()).addPsiTreeChangeListener(myPsiTreeChangeListener);
|
||||
PsiManager.getInstance(getProject()).addPsiTreeChangeListener(myPsiTreeChangeListener, this);
|
||||
|
||||
myQuickFixManager = new QuickFixManagerImpl(this, myGlassLayer, myScrollPane.getViewport());
|
||||
|
||||
@@ -378,6 +378,7 @@ public final class GuiEditor extends JPanel implements DesignerEditorPanelFacade
|
||||
return mySelectionState;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
ApplicationManager.getApplication().assertIsDispatchThread();
|
||||
|
||||
@@ -390,7 +391,6 @@ public final class GuiEditor extends JPanel implements DesignerEditorPanelFacade
|
||||
}
|
||||
|
||||
myDocument.removeDocumentListener(myDocumentListener);
|
||||
PsiManager.getInstance(getProject()).removePsiTreeChangeListener(myPsiTreeChangeListener);
|
||||
|
||||
if (!ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
DesignerToolWindowManager.getInstance(myProject).dispose(this);
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.project.PossiblyDumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.UserDataHolderBase;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.testFramework.LightVirtualFile;
|
||||
@@ -67,7 +68,7 @@ public final class UIFormEditor extends UserDataHolderBase implements FileEditor
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
myEditor.dispose();
|
||||
Disposer.dispose(myEditor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user