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 a74ccd064db5..155b060d13ff 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java @@ -100,7 +100,7 @@ public abstract class BasePlatformRefactoringAction extends BaseRefactoringActio } @Nullable - private RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) { + protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) { List providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language); if (providers.isEmpty()) return null; if (element == null && !providers.isEmpty()) return getRefactoringHandler(providers.get(0)); diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java index cd9b9958e3d1..20365ef56a33 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java @@ -23,6 +23,7 @@ package com.intellij.refactoring.actions; import com.intellij.lang.Language; import com.intellij.lang.refactoring.InlineActionHandler; +import com.intellij.lang.refactoring.InlineHandler; import com.intellij.lang.refactoring.InlineHandlers; import com.intellij.lang.refactoring.RefactoringSupportProvider; import com.intellij.openapi.actionSystem.DataContext; @@ -36,6 +37,9 @@ import com.intellij.refactoring.inline.InlineRefactoringActionHandler; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Collections; +import java.util.List; + public class InlineAction extends BasePlatformRefactoringAction { public InlineAction() { @@ -71,6 +75,14 @@ public class InlineAction extends BasePlatformRefactoringAction { return new InlineRefactoringActionHandler(); } + @Override + protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) { + RefactoringActionHandler handler = super.getHandler(language, element); + if (handler != null) return handler; + List handlers = InlineHandlers.getInlineHandlers(language); + return handlers.isEmpty() ? null : new InlineRefactoringActionHandler(); + } + protected boolean isAvailableForLanguage(Language language) { for(InlineActionHandler handler: Extensions.getExtensions(InlineActionHandler.EP_NAME)) { if (handler.isEnabledForLanguage(language)) {