Java 类com.intellij.lang.LanguageRefactoringSupport 实例源码

项目: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    文件:ChangeSignatureUtil.java   
public static void invokeChangeSignatureOn(PsiMethod method, Project project) {
  ChangeSignatureHandler handler = LanguageRefactoringSupport.INSTANCE.forLanguage(method.getLanguage()).getChangeSignatureHandler();
  if (handler != null) {
    handler.invoke(project, new PsiElement[]{method}, null);
  }
}
项目:intellij-ce-playground    文件:ChangeSignatureAction.java   
@Nullable
private static ChangeSignatureHandler getChangeSignatureHandler(Language language) {
  return LanguageRefactoringSupport.INSTANCE.forLanguage(language).getChangeSignatureHandler();
}
项目: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    文件: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    文件:ChangeSignatureUtil.java   
public static void invokeChangeSignatureOn(PsiMethod method, Project project) {
  final ChangeSignatureHandler handler =
    LanguageRefactoringSupport.INSTANCE.forLanguage(method.getLanguage()).getChangeSignatureHandler();
  handler.invoke(project, new PsiElement[]{method}, null);
}
项目:tools-idea    文件:ChangeSignatureAction.java   
@Nullable
private static ChangeSignatureHandler getChangeSignatureHandler(Language language) {
  return LanguageRefactoringSupport.INSTANCE.forLanguage(language).getChangeSignatureHandler();
}
项目:tools-idea    文件:BasePlatformRefactoringAction.java   
@Override
protected boolean isAvailableForLanguage(final Language language) {
  List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
  return ContainerUtil.find(providers, myCondition) != null;
}
项目:tools-idea    文件:SafeDeleteProcessor.java   
public static boolean validElement(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);
}
项目:consulo    文件:ChangeSignatureAction.java   
@Nullable
private static ChangeSignatureHandler getChangeSignatureHandler(Language language) {
  return LanguageRefactoringSupport.INSTANCE.forLanguage(language).getChangeSignatureHandler();
}
项目:consulo    文件:BasePlatformRefactoringAction.java   
@Override
protected boolean isAvailableForLanguage(final Language language) {
  List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
  return ContainerUtil.find(providers, myCondition) != null;
}
项目:consulo    文件:SafeDeleteProcessor.java   
public static boolean validElement(@Nonnull 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);
}
项目:consulo-java    文件:ChangeSignatureUtil.java   
public static void invokeChangeSignatureOn(PsiMethod method, Project project)
{
    final ChangeSignatureHandler handler = LanguageRefactoringSupport.INSTANCE.forLanguage(method.getLanguage()).getChangeSignatureHandler();
    handler.invoke(project, new PsiElement[]{method}, null);
}