diff --git a/plugins/settings-repository/src/IcsBundle.kt b/plugins/settings-repository/src/IcsBundle.kt index 2178e2c3d601..b5aba53f92ed 100644 --- a/plugins/settings-repository/src/IcsBundle.kt +++ b/plugins/settings-repository/src/IcsBundle.kt @@ -15,28 +15,16 @@ */ package org.jetbrains.settingsRepository -import com.intellij.CommonBundle +import com.intellij.DynamicBundle import org.jetbrains.annotations.PropertyKey -import java.lang.ref.Reference -import java.lang.ref.SoftReference -import java.util.* - -private var ourBundle: Reference? = null private const val BUNDLE: String = "messages.IcsBundle" -fun icsMessage(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any?): String { - return CommonBundle.message(getBundle(), key, *params) +object IcsBundle : DynamicBundle(BUNDLE) { + @JvmStatic + fun message(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): String = getMessage(key, *params) } -private fun getBundle(): ResourceBundle { - var bundle: ResourceBundle? = null - if (ourBundle != null) { - bundle = ourBundle!!.get() - } - if (bundle == null) { - bundle = ResourceBundle.getBundle(BUNDLE) - ourBundle = SoftReference(bundle) - } - return bundle!! +fun icsMessage(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any?): String { + return IcsBundle.message(key, params) } \ No newline at end of file