diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java b/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java index 6ea05190fb21..df0e8feb3538 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java @@ -94,18 +94,25 @@ public class CommonCodeStyleSettingsManager implements JDOMExternalizable { private void initNonReadSettings() { final LanguageCodeStyleSettingsProvider[] providers = Extensions.getExtensions(LanguageCodeStyleSettingsProvider.EP_NAME); for (final LanguageCodeStyleSettingsProvider provider : providers) { - if (!myCommonSettingsMap.containsKey(provider.getLanguage())) { + Language target = provider.getLanguage(); + if (!myCommonSettingsMap.containsKey(target)) { CommonCodeStyleSettings initialSettings = provider.getDefaultCommonSettings(); if (initialSettings != null) { initialSettings.copyNonDefaultValuesFrom(myParentSettings); - initialSettings.setRootSettings(myParentSettings); - initialSettings.importOldIndentOptions(myParentSettings); - registerCommonSettings(provider.getLanguage(), initialSettings); + init(initialSettings, target); } } } } + private void init(CommonCodeStyleSettings initialSettings, Language target) { + initialSettings.setRootSettings(myParentSettings); + initialSettings.importOldIndentOptions(myParentSettings); + registerCommonSettings(target, initialSettings); + + initialSettings.getRootSettings(); // check it's not null + } + private void initCommonSettingsMap() { myCommonSettingsMap = new LinkedHashMap(); myUnknownSettingsMap = new LinkedHashMap(); @@ -119,7 +126,7 @@ public class CommonCodeStyleSettingsManager implements JDOMExternalizable { public CommonCodeStyleSettingsManager clone(@NotNull CodeStyleSettings parentSettings) { CommonCodeStyleSettingsManager settingsManager = new CommonCodeStyleSettingsManager(parentSettings); - if (myCommonSettingsMap != null && myCommonSettingsMap.size() > 0) { + if (myCommonSettingsMap != null && !myCommonSettingsMap.isEmpty()) { settingsManager.initCommonSettingsMap(); for (Map.Entry entry : myCommonSettingsMap.entrySet()) { CommonCodeStyleSettings clonedSettings = entry.getValue().clone(parentSettings); @@ -138,7 +145,7 @@ public class CommonCodeStyleSettingsManager implements JDOMExternalizable { if (o instanceof Element) { final Element commonSettingsElement = (Element)o; final String languageId = commonSettingsElement.getAttributeValue(LANGUAGE_ATTR); - if (languageId != null && languageId.length() > 0) { + if (languageId != null && !languageId.isEmpty()) { Language target = Language.findLanguageByID(languageId); boolean isKnownLanguage = target != null; if (isKnownLanguage) { @@ -147,9 +154,7 @@ public class CommonCodeStyleSettingsManager implements JDOMExternalizable { CommonCodeStyleSettings settings = provider.getDefaultCommonSettings(); if (settings != null) { settings.readExternal(commonSettingsElement); - settings.setRootSettings(myParentSettings); - settings.importOldIndentOptions(myParentSettings); - registerCommonSettings(target, settings); + init(settings, target); } } else {