本文整理汇总了Java中com.intellij.lang.LanguageRefactoringSupport类的典型用法代码示例。如果您正苦于以下问题:Java LanguageRefactoringSupport类的具体用法?Java LanguageRefactoringSupport怎么用?Java LanguageRefactoringSupport使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LanguageRefactoringSupport类属于com.intellij.lang包,在下文中一共展示了LanguageRefactoringSupport类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isAvailable
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@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);
}
示例2: doTest
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
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);
}
示例3: isAvailable
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
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);
}
示例4: getHandler
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@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;
}
示例5: isInplace
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
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();
}
示例6: isAvailable
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
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);
}
示例7: isAvailable
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@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);
}
示例8: getHandler
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@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;
}
示例9: isInplace
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
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();
}
示例10: isAvailable
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@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;
}
示例11: isAvailable
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
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);
}
示例12: getHandler
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@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;
}
示例13: invokeChangeSignatureOn
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
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);
}
}
示例14: getChangeSignatureHandler
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@Nullable
private static ChangeSignatureHandler getChangeSignatureHandler(Language language) {
return LanguageRefactoringSupport.INSTANCE.forLanguage(language).getChangeSignatureHandler();
}
示例15: isAvailableForLanguage
import com.intellij.lang.LanguageRefactoringSupport; //导入依赖的package包/类
@Override
protected boolean isAvailableForLanguage(final Language language) {
List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
return ContainerUtil.find(providers, myCondition) != null;
}