From e6dd678660869f906ad20da15f7ab3d4a623fb47 Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Wed, 4 Oct 2017 14:35:48 +0300 Subject: [PATCH] Deprecate direct createFileFromText() method overriding The only allowed solution is to implement LanguageCodeStyleSettingsProvider.createFileFromText(). --- .../application/options/CodeStyleAbstractPanel.java | 12 ++++++++++++ .../CustomizableLanguageCodeStylePanel.java | 6 ------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java b/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java index 7755eb13cf56..b94f024feeb0 100644 --- a/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java @@ -218,6 +218,7 @@ public abstract class CodeStyleAbstractPanel implements Disposable { } //important not mark as generated not to get the classes before setting language level + @SuppressWarnings("deprecation") PsiFile psiFile = createFileFromText(project, myTextToReformat); prepareForReformat(psiFile); @@ -267,6 +268,7 @@ public abstract class CodeStyleAbstractPanel implements Disposable { */ @Nullable private Document collectChangesBeforeCurrentSettingsAppliance(Project project) { + @SuppressWarnings("deprecation") PsiFile psiFile = createFileFromText(project, myTextToReformat); prepareForReformat(psiFile); CodeStyleSettings clone = mySettings.clone(); @@ -303,7 +305,17 @@ public abstract class CodeStyleAbstractPanel implements Disposable { return getFileTypeExtension(getFileType()); } + /** + * @deprecated Do not override this method. Use LanguageCodeStyleSettingsProvider.createFileFromText() instead. + * @see LanguageCodeStyleSettingsProvider#createFileFromText(Project, String) + */ + @Deprecated protected PsiFile createFileFromText(Project project, String text) { + Language language = getDefaultLanguage(); + if (language != null) { + final PsiFile file = LanguageCodeStyleSettingsProvider.createFileFromText(language, project, text); + if (file != null) return file; + } return PsiFileFactory.getInstance(project).createFileFromText( "a." + getFileExt(), getFileType(), text, LocalTimeCounter.currentTime(), false ); diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/CustomizableLanguageCodeStylePanel.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/CustomizableLanguageCodeStylePanel.java index c332cd87fb3e..caa85832ebb2 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/CustomizableLanguageCodeStylePanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/CustomizableLanguageCodeStylePanel.java @@ -85,12 +85,6 @@ public abstract class CustomizableLanguageCodeStylePanel extends CodeStyleAbstra return sample; } - @Override - protected PsiFile createFileFromText(final Project project, final String text) { - final PsiFile file = LanguageCodeStyleSettingsProvider.createFileFromText(getDefaultLanguage(), project, text); - return file != null ? file : super.createFileFromText(project, text); - } - @Override protected int getRightMargin() { if (getDefaultLanguage() == null) return -1;