mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix convoluted Disposable registration which wastes memory; add SSR for catching that
This commit is contained in:
+5
@@ -841,6 +841,11 @@
|
||||
<constraint name="s1" minCount="0" maxCount="2147483647" within="" contains="" />
|
||||
<constraint name="s2" minCount="0" maxCount="2147483647" within="" contains="" />
|
||||
</replaceConfiguration>
|
||||
<replaceConfiguration name="Too convoluted "register(()->dispose())" (wastes memory)" text="Disposer.register($myRoot$, () -> Disposer.dispose($myFolder2$));" recursive="true" caseInsensitive="true" type="JAVA" reformatAccordingToStyle="true" shortenFQN="true" replacement="Disposer.register($myRoot$, $myFolder2$);">
|
||||
<constraint name="__context__" within="" contains="" />
|
||||
<constraint name="myRoot" within="" contains="" />
|
||||
<constraint name="myFolder2" within="" contains="" />
|
||||
</replaceConfiguration>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="SafeVarargsDetector" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
<inspection_tool class="SeamAnnotationIncorrectSignatureInspection" enabled="false" level="ERROR" enabled_by_default="false" />
|
||||
|
||||
@@ -179,7 +179,7 @@ public class FileStructurePopup implements Disposable, TreeActionsOwner {
|
||||
myAsyncTreeModel.setRootImmediately(myStructureTreeModel.getRootImmediately());
|
||||
myTree = new MyTree(myAsyncTreeModel);
|
||||
StructureViewComponent.registerAutoExpandListener(myTree, myTreeModel);
|
||||
Disposer.register(this, () -> Disposer.dispose(myTreeModelWrapper));
|
||||
Disposer.register(this, myTreeModelWrapper);
|
||||
|
||||
ModelListener modelListener = () -> rebuild(false);
|
||||
myTreeModel.addModelListener(modelListener);
|
||||
|
||||
@@ -24,7 +24,7 @@ public class VcsLogProgress implements Disposable {
|
||||
private boolean myDisposed = false;
|
||||
|
||||
public VcsLogProgress(@NotNull Project project, @NotNull Disposable parent) {
|
||||
Disposer.register(parent, () -> Disposer.dispose(this));
|
||||
Disposer.register(parent, this);
|
||||
Disposer.register(project, this);
|
||||
}
|
||||
|
||||
|
||||
@@ -227,7 +227,7 @@ public class VcsLogUtil {
|
||||
* @param disposable disposable to register.
|
||||
*/
|
||||
public static void registerWithParentAndProject(@NotNull Disposable parent, @NotNull Project project, @NotNull Disposable disposable) {
|
||||
Disposer.register(parent, () -> Disposer.dispose(disposable));
|
||||
Disposer.register(parent, disposable);
|
||||
Disposer.register(project, disposable);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user