Java 类com.intellij.lang.refactoring.RefactoringSupportProvider 实例源码

项目:intellij-ce-playground    文件:MemberInplaceRenameHandler.java   
@Override
protected boolean isAvailable(PsiElement element, Editor editor, PsiFile file) {
  PsiElement nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset());
  if (nameSuggestionContext == null && editor.getCaretModel().getOffset() > 0) {
    nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset() - 1);
  }

  if (element == null && LookupManager.getActiveLookup(editor) != null) {
    element = PsiTreeUtil.getParentOfType(nameSuggestionContext, PsiNamedElement.class);
  }
  final RefactoringSupportProvider
    supportProvider = element == null ? null : LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage());
  return editor.getSettings().isVariableInplaceRenameEnabled()
         && supportProvider != null
         && supportProvider.isMemberInplaceRenameAvailable(element, nameSuggestionContext);
}
项目:intellij-ce-playground    文件:PyExtractMethodTest.java   
private void doTest(String newName) {
  final String testName = getTestName(false);
  final String beforeName = testName + ".before.py";
  final String afterName = testName + ".after.py";
  final String dir = "refactoring/extractmethod/";

  myFixture.configureByFile(dir + beforeName);
  final RefactoringSupportProvider provider = LanguageRefactoringSupport.INSTANCE.forLanguage(PythonLanguage.getInstance());
  assertNotNull(provider);
  final RefactoringActionHandler handler = provider.getExtractMethodHandler();
  assertNotNull(handler);
  System.setProperty(PyExtractMethodUtil.NAME, newName);
  try {
    refactorUsingHandler(handler);
  }
  finally {
    System.clearProperty(PyExtractMethodUtil.NAME);
  }
  myFixture.checkResultByFile(dir + afterName);
}
项目:intellij-ce-playground    文件:VariableInplaceRenameHandler.java   
protected boolean isAvailable(PsiElement element, Editor editor, PsiFile file) {
  final PsiElement nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset());

  RefactoringSupportProvider supportProvider =
    element == null ? null : LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage());
  return supportProvider != null &&
         editor.getSettings().isVariableInplaceRenameEnabled() &&
         supportProvider.isInplaceRenameAvailable(element, nameSuggestionContext);
}
项目:intellij-ce-playground    文件:BasePlatformRefactoringAction.java   
@Nullable
protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) {
  List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
  if (providers.isEmpty()) return null;
  if (element == null) return getRefactoringHandler(providers.get(0));
  for (RefactoringSupportProvider provider : providers) {
    if (provider.isAvailable(element)) {
      return getRefactoringHandler(provider, element);
    }
  }
  return null;
}
项目:intellij-ce-playground    文件:GrIntroduceHandlerBase.java   
public static boolean isInplace(@NotNull Editor editor, @NotNull PsiElement place) {
  final RefactoringSupportProvider supportProvider = LanguageRefactoringSupport.INSTANCE.forLanguage(place.getLanguage());
  return supportProvider != null &&
         (editor.getUserData(InplaceRefactoring.INTRODUCE_RESTART) == null || !editor.getUserData(InplaceRefactoring.INTRODUCE_RESTART)) &&
         editor.getUserData(AbstractInplaceIntroducer.ACTIVE_INTRODUCE) == null &&
         editor.getSettings().isVariableInplaceRenameEnabled() &&
         supportProvider.isInplaceIntroduceAvailable(place, place) &&
         !ApplicationManager.getApplication().isUnitTestMode();
}
项目:tools-idea    文件:VariableInplaceRenameHandler.java   
protected boolean isAvailable(PsiElement element, Editor editor, PsiFile file) {
  final PsiElement nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset());

  final RefactoringSupportProvider
    supportProvider = element != null ? LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage()):null;
  return supportProvider != null &&
         editor.getSettings().isVariableInplaceRenameEnabled() &&
         supportProvider.isInplaceRenameAvailable(element, nameSuggestionContext);
}
项目:tools-idea    文件:MemberInplaceRenameHandler.java   
@Override
protected boolean isAvailable(PsiElement element, Editor editor, PsiFile file) {
  final PsiElement nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset());
  if (element == null && LookupManager.getActiveLookup(editor) != null) {
    element = PsiTreeUtil.getParentOfType(nameSuggestionContext, PsiNamedElement.class);
  }
  final RefactoringSupportProvider
    supportProvider = element != null ? LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage()) : null;
  return editor.getSettings().isVariableInplaceRenameEnabled()
         && supportProvider != null
         && supportProvider.isMemberInplaceRenameAvailable(element, nameSuggestionContext);
}
项目:tools-idea    文件:BasePlatformRefactoringAction.java   
@Nullable
protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) {
  List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
  if (providers.isEmpty()) return null;
  if (element == null && !providers.isEmpty()) return getRefactoringHandler(providers.get(0));
  if (element != null) {
    for (RefactoringSupportProvider provider : providers) {
      if (provider.isAvailable(element)) {
        return getRefactoringHandler(provider);
      }
    }
  }
  return null;
}
项目:tools-idea    文件:GrIntroduceHandlerBase.java   
protected boolean isInplace(GrIntroduceContext context) {
  final RefactoringSupportProvider supportProvider = LanguageRefactoringSupport.INSTANCE.forLanguage(context.getPlace().getLanguage());
  return supportProvider != null &&
         context.getEditor().getSettings().isVariableInplaceRenameEnabled() &&
         supportProvider.isInplaceIntroduceAvailable(context.getPlace(), context.getPlace()) &&
         !ApplicationManager.getApplication().isUnitTestMode();
}
项目:consulo-csharp    文件:CSharpMemberInplaceRenameHandler.java   
@Override
@RequiredReadAction
protected boolean isAvailable(PsiElement element, Editor editor, PsiFile file)
{
    final PsiElement nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset());
    if(element == null && LookupManager.getActiveLookup(editor) != null)
    {
        element = PsiTreeUtil.getParentOfType(nameSuggestionContext, PsiNamedElement.class);
    }
    final RefactoringSupportProvider supportProvider = element != null ? LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage()) : null;
    return editor.getSettings().isVariableInplaceRenameEnabled() && supportProvider != null && supportProvider.isMemberInplaceRenameAvailable(element, nameSuggestionContext) && element
            instanceof CSharpNamedElement;
}
项目:consulo    文件:VariableInplaceRenameHandler.java   
protected boolean isAvailable(PsiElement element, Editor editor, PsiFile file) {
  final PsiElement nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset());

  RefactoringSupportProvider supportProvider =
          element == null ? null : LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage());
  return supportProvider != null &&
         editor.getSettings().isVariableInplaceRenameEnabled() &&
         supportProvider.isInplaceRenameAvailable(element, nameSuggestionContext);
}
项目:consulo    文件:MemberInplaceRenameHandler.java   
@Override
protected boolean isAvailable(PsiElement element, Editor editor, PsiFile file) {
  final PsiElement nameSuggestionContext = file.findElementAt(editor.getCaretModel().getOffset());
  if (element == null && LookupManager.getActiveLookup(editor) != null) {
    element = PsiTreeUtil.getParentOfType(nameSuggestionContext, PsiNamedElement.class);
  }
  final RefactoringSupportProvider
    supportProvider = element != null ? LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage()) : null;
  return editor.getSettings().isVariableInplaceRenameEnabled()
         && supportProvider != null
         && supportProvider.isMemberInplaceRenameAvailable(element, nameSuggestionContext);
}
项目:consulo    文件:BasePlatformRefactoringAction.java   
@Nullable
protected RefactoringActionHandler getHandler(@Nonnull Language language, PsiElement element) {
  List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
  if (providers.isEmpty()) return null;
  if (element == null) return getRefactoringHandler(providers.get(0));
  for (RefactoringSupportProvider provider : providers) {
    if (provider.isAvailable(element)) {
      return getRefactoringHandler(provider, element);
    }
  }
  return null;
}
项目:intellij-ce-playground    文件:LanguageRefactoringSupport.java   
private LanguageRefactoringSupport() {
  super("com.intellij.lang.refactoringSupport", new RefactoringSupportProvider() {});
}
项目:intellij-ce-playground    文件:ChangeSignatureAction.java   
@Nullable
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getChangeSignatureHandler();
}
项目:intellij-ce-playground    文件:ExtractSuperclassAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider supportProvider) {
  return supportProvider.getExtractSuperClassHandler();
}
项目:intellij-ce-playground    文件:IntroduceParameterAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getIntroduceParameterHandler();
}
项目:intellij-ce-playground    文件:ExtractMethodAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getExtractMethodHandler();
}
项目:intellij-ce-playground    文件:IntroduceConstantAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getIntroduceConstantHandler();
}
项目:intellij-ce-playground    文件:ExtractModuleAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider supportProvider) {
  return supportProvider.getExtractModuleHandler();
}
项目:intellij-ce-playground    文件:ExtractInterfaceAction.java   
@Nullable
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider supportProvider) {
  return supportProvider.getExtractInterfaceHandler();
}
项目:intellij-ce-playground    文件:PushDownAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getPushDownHandler();
}
项目:intellij-ce-playground    文件:InlineAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return new InlineRefactoringActionHandler();
}
项目:intellij-ce-playground    文件:ExtractIncludeAction.java   
@Nullable
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return null;
}
项目:intellij-ce-playground    文件:ExtractIncludeAction.java   
@Nullable
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider, PsiElement element) {
  PsiFile file = element.getContainingFile();
  if (file == null) return null;
  return LanguageExtractInclude.INSTANCE.forLanguage(file.getViewProvider().getBaseLanguage());
}
项目:intellij-ce-playground    文件:PullUpAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getPullUpHandler();
}
项目:intellij-ce-playground    文件:IntroduceFieldAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getIntroduceFieldHandler();
}
项目:intellij-ce-playground    文件:IntroduceVariableAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getIntroduceVariableHandler();
}
项目:intellij-ce-playground    文件:IntroduceVariableAction.java   
@Nullable
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider, PsiElement element) {
  return provider.getIntroduceVariableHandler(element);
}
项目:intellij-ce-playground    文件:BasePlatformRefactoringAction.java   
@Override
public boolean value(RefactoringSupportProvider provider) {
  return getRefactoringHandler(provider) != null;
}
项目:intellij-ce-playground    文件:BasePlatformRefactoringAction.java   
@Override
protected boolean isAvailableForLanguage(final Language language) {
  List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
  return ContainerUtil.find(providers, myCondition) != null;
}
项目:intellij-ce-playground    文件:BasePlatformRefactoringAction.java   
@Nullable
protected abstract RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider);
项目:intellij-ce-playground    文件:BasePlatformRefactoringAction.java   
@Nullable
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider, PsiElement element) {
  return getRefactoringHandler(provider);
}
项目:intellij-ce-playground    文件:ExtractClassAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getExtractClassHandler();
}
项目:intellij-ce-playground    文件:SafeDeleteProcessor.java   
public static boolean validElement(@NotNull PsiElement element) {
  if (element instanceof PsiFile) return true;
  if (!element.isPhysical()) return false;
  final RefactoringSupportProvider provider = LanguageRefactoringSupport.INSTANCE.forLanguage(element.getLanguage());
  return provider.isSafeDeleteAvailable(element);
}
项目:tools-idea    文件:LanguageRefactoringSupport.java   
private LanguageRefactoringSupport() {
  super("com.intellij.lang.refactoringSupport", new RefactoringSupportProvider() {});
}
项目:tools-idea    文件:ExtractSuperclassAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider supportProvider) {
  return supportProvider.getExtractSuperClassHandler();
}
项目:tools-idea    文件:IntroduceParameterAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getIntroduceParameterHandler();
}
项目:tools-idea    文件:ExtractMethodAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getExtractMethodHandler();
}
项目:tools-idea    文件:IntroduceConstantAction.java   
@Override
protected RefactoringActionHandler getRefactoringHandler(@NotNull RefactoringSupportProvider provider) {
  return provider.getIntroduceConstantHandler();
}