From d56bfa8a9e7f8c1eddde7173d6914930f5f79890 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Wed, 20 Mar 2024 18:11:59 +0100 Subject: [PATCH] IJPL-846 don't use stream (use kotlin instead if needed) GitOrigin-RevId: 42fd2af401ec304b5b2dbaaecee7ae6cfdf4ca12 --- .../openapi/editor/ClientEditorManager.java | 15 ++++++++++----- .../openapi/editor/impl/EditorFactoryImpl.java | 12 +++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/platform/editor-ui-api/src/com/intellij/openapi/editor/ClientEditorManager.java b/platform/editor-ui-api/src/com/intellij/openapi/editor/ClientEditorManager.java index f387ac087783..b6354b44ad7c 100644 --- a/platform/editor-ui-api/src/com/intellij/openapi/editor/ClientEditorManager.java +++ b/platform/editor-ui-api/src/com/intellij/openapi/editor/ClientEditorManager.java @@ -1,4 +1,4 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.editor; import com.intellij.codeWithMe.ClientId; @@ -11,6 +11,7 @@ import com.intellij.util.containers.WeakList; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.Unmodifiable; import java.util.List; import java.util.stream.Stream; @@ -67,10 +68,14 @@ public final class ClientEditorManager { private static final Key CLIENT_ID = Key.create("CLIENT_ID"); private static final Key> COPIED_EDITORS = Key.create("COPIED_EDITORS"); private final ClientId myClientId = ClientId.getCurrent(); - private final List myEditors = ContainerUtil.createLockFreeCopyOnWriteList(); + private final List editors = ContainerUtil.createLockFreeCopyOnWriteList(); public @NotNull Stream editors() { - return myEditors.stream(); + return editors.stream(); + } + + public @NotNull @Unmodifiable List getEditors() { + return editors; } public @NotNull Stream editors(@NotNull Document document, @Nullable Project project) { @@ -82,13 +87,13 @@ public final class ClientEditorManager { if (!ClientId.isLocal(myClientId)) { CLIENT_ID.set(editor, myClientId); } - myEditors.add(editor); + editors.add(editor); } public boolean editorReleased(@NotNull Editor editor) { if (!ClientId.isLocal(myClientId)) { CLIENT_ID.set(editor, null); } - return myEditors.remove(editor); + return editors.remove(editor); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java index da7b9474b266..b5dccddd30b0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.editor.impl; import com.intellij.injected.editor.DocumentWindow; @@ -136,11 +136,13 @@ public final class EditorFactoryImpl extends EditorFactory { @Override public void refreshAllEditors() { - collectAllEditors().forEach(editor -> { - if (AsyncEditorLoader.isEditorLoaded(editor)) { - ((EditorEx)editor).reinitSettings(); + for (ClientEditorManager clientEditorManager : ClientEditorManager.getAllInstances()) { + for (Editor editor : clientEditorManager.getEditors()) { + if (AsyncEditorLoader.isEditorLoaded(editor)) { + ((EditorEx)editor).reinitSettings(); + } } - }); + } } @Override