From ea3a0a43c476a94689dc73193e5157c559ccb6bd Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Tue, 28 Sep 2010 12:55:28 +0400 Subject: [PATCH] correct handler inferring for refactoring actions --- .../actions/BasePlatformRefactoringAction.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java index 551bf1d825bd..f5dab5ab830a 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java @@ -60,14 +60,7 @@ public abstract class BasePlatformRefactoringAction extends BaseRefactoringActio @Override protected final RefactoringActionHandler getHandler(DataContext dataContext) { - - PsiElement element = LangDataKeys.PSI_ELEMENT.getData(dataContext); - if (element != null) { - RefactoringActionHandler handler = getHandler(element.getLanguage(), element); - if (handler != null) { - return handler; - } - } + PsiElement element; Editor editor = LangDataKeys.EDITOR.getData(dataContext); PsiFile file = LangDataKeys.PSI_FILE.getData(dataContext); @@ -81,6 +74,14 @@ public abstract class BasePlatformRefactoringAction extends BaseRefactoringActio } } + element = LangDataKeys.PSI_ELEMENT.getData(dataContext); + if (element != null) { + RefactoringActionHandler handler = getHandler(element.getLanguage(), element); + if (handler != null) { + return handler; + } + } + final Language[] languages = LangDataKeys.CONTEXT_LANGUAGES.getData(dataContext); if (languages != null) { for (Language language : languages) {