DBE-23071 Add cache clearing for LanguageCodeStyleSettingsProvider

Merge-request: IJ-MR-160932
Merged-by: Ilia Epelbaum <ilia.epelbaum@jetbrains.com>

GitOrigin-RevId: 9bdac9e6560debbe75f0567449b06c33e71b0dcf
This commit is contained in:
Ilia Epelbaum
2025-04-23 19:05:09 +00:00
committed by intellij-monorepo-bot
parent f780ee3be6
commit 8ec55d96fa
3 changed files with 6 additions and 0 deletions
@@ -4947,6 +4947,7 @@ a:com.intellij.psi.codeStyle.LanguageCodeStyleSettingsProvider
- com.intellij.psi.codeStyle.CodeStyleSettingsProvider
- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName
- <init>():V
- s:cleanSettingsPagesProvidersCache():V
- createConfigurable(com.intellij.psi.codeStyle.CodeStyleSettings,com.intellij.psi.codeStyle.CodeStyleSettings):com.intellij.psi.codeStyle.CodeStyleConfigurable
- createFileFromText(com.intellij.openapi.project.Project,java.lang.String):com.intellij.psi.PsiFile
- p:customizeDefaults(com.intellij.psi.codeStyle.CommonCodeStyleSettings,com.intellij.psi.codeStyle.CommonCodeStyleSettings$IndentOptions):V
@@ -371,6 +371,10 @@ public abstract class LanguageCodeStyleSettingsProvider extends CodeStyleSetting
return ourSettingsPagesProviders.updateAndGet(providers -> providers != null ? providers : calcSettingPagesProviders());
}
public static void cleanSettingsPagesProvidersCache() {
ourSettingsPagesProviders.set(null);
}
private static @NotNull Set<LanguageCodeStyleSettingsProvider> calcSettingPagesProviders() {
Set<LanguageCodeStyleSettingsProvider> settingsPagesProviders = new HashSet<>();
for (LanguageCodeStyleSettingsProvider provider : getAllProviders()) {
@@ -23,6 +23,7 @@ final class LanguageCodeStyleSettingsProviderService implements Disposable {
public LanguageCodeStyleSettingsProviderService() {
LanguageCodeStyleSettingsProvider.EP_NAME.addChangeListener(() -> {
allProviders = null;
LanguageCodeStyleSettingsProvider.cleanSettingsPagesProvidersCache();
}, this);
LanguageCodeStyleSettingsContributor.EP_NAME.addChangeListener(() -> {