From 44860a567aadb6abc52ee0dcd8689d1cc7d0bda8 Mon Sep 17 00:00:00 2001 From: Andrey Zaytsev Date: Sat, 22 Nov 2025 23:04:44 +0100 Subject: [PATCH] refactor [platform]: dynamic registry GitOrigin-RevId: 48bde01de8a36826eb90b35e2fb0b2d1c46f9065 --- .../src/com/intellij/openapi/util/registry/Registry.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/util/src/com/intellij/openapi/util/registry/Registry.kt b/platform/util/src/com/intellij/openapi/util/registry/Registry.kt index 06c444a62e5d..6e2be402b1a8 100644 --- a/platform/util/src/com/intellij/openapi/util/registry/Registry.kt +++ b/platform/util/src/com/intellij/openapi/util/registry/Registry.kt @@ -57,7 +57,14 @@ class Registry { private val EMPTY_VALUE_LISTENER: RegistryValueListener = object : RegistryValueListener { } - private val registry = Registry() + private val staticRegistry by lazy { Registry() } + + @set:Internal + @get:Internal + var registrySupplier: (() -> Registry)? = null + + private val registry + get() = registrySupplier?.invoke() ?: staticRegistry @JvmStatic fun get(key: @NonNls String): RegistryValue = getInstance().resolveValue(key)