From af96b3fb7111c715b6efab3b8b5b5625458cd3c0 Mon Sep 17 00:00:00 2001 From: "Kirill.Safonov" Date: Fri, 23 Jul 2010 20:00:02 +0400 Subject: [PATCH] AS extract interface action works in MXML files --- .../refactoring/actions/BaseExtractModuleAction.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/BaseExtractModuleAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/BaseExtractModuleAction.java index e9b0b8bebe3c..d20e83f49be3 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/BaseExtractModuleAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/BaseExtractModuleAction.java @@ -34,23 +34,26 @@ public abstract class BaseExtractModuleAction extends BaseRefactoringAction { public boolean isEnabledOnElements(PsiElement[] elements) { if (elements.length > 0) { final Language language = elements[0].getLanguage(); - final RefactoringActionHandler handler = LanguageRefactoringSupport.INSTANCE.forLanguage(language).getExtractModuleHandler(); + final RefactoringActionHandler handler = getRefactoringSupport(language).getExtractModuleHandler(); return isEnabledOnLanguage(language) && handler instanceof ElementsHandler && ((ElementsHandler)handler).isEnabledOnElements(elements); } return false; } + protected RefactoringSupportProvider getRefactoringSupport(Language language) { + return LanguageRefactoringSupport.INSTANCE.forLanguage(language); + } + public RefactoringActionHandler getHandler(DataContext dataContext) { PsiFile file = LangDataKeys.PSI_FILE.getData(dataContext); if (file == null) return null; - final RefactoringSupportProvider supportProvider = LanguageRefactoringSupport.INSTANCE.forLanguage(file.getViewProvider().getBaseLanguage()); + final RefactoringSupportProvider supportProvider = getRefactoringSupport(file.getViewProvider().getBaseLanguage()); return supportProvider != null ? supportProvider.getExtractModuleHandler() : null; } protected boolean isAvailableForLanguage(final Language language) { - return isEnabledOnLanguage(language) && - LanguageRefactoringSupport.INSTANCE.forLanguage(language).getExtractModuleHandler() != null; + return isEnabledOnLanguage(language) && getRefactoringSupport(language).getExtractModuleHandler() != null; } protected abstract boolean isEnabledOnLanguage(final Language language);