mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
TargetElementUtilBase is deprecated, please use TargetElementUtil
This commit is contained in:
+11
-5
@@ -30,21 +30,27 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class TargetElementUtil extends TargetElementEvaluatorEx2 implements TargetElementUtilExtender{
|
||||
public class JavaTargetElementEvaluator extends TargetElementEvaluatorEx2 implements TargetElementUtilExtender{
|
||||
public static final int NEW_AS_CONSTRUCTOR = 0x04;
|
||||
public static final int THIS_ACCEPTED = 0x10;
|
||||
public static final int SUPER_ACCEPTED = 0x20;
|
||||
|
||||
@Override
|
||||
public int getAdditionalAccepted() {
|
||||
public int getAllAdditionalFlags() {
|
||||
return NEW_AS_CONSTRUCTOR | THIS_ACCEPTED | SUPER_ACCEPTED;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accepts THIS or SUPER but not NEW_AS_CONSTRUCTOR.
|
||||
*/
|
||||
@Override
|
||||
public int getAdditionalDefinitionSearchFlags() {
|
||||
return THIS_ACCEPTED | SUPER_ACCEPTED;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accepts NEW_AS_CONSTRUCTOR but not THIS or SUPER.
|
||||
*/
|
||||
@Override
|
||||
public int getAdditionalReferenceSearchFlags() {
|
||||
return NEW_AS_CONSTRUCTOR;
|
||||
@@ -100,7 +106,7 @@ public class TargetElementUtil extends TargetElementEvaluatorEx2 implements Targ
|
||||
@Nullable PsiElement refElement) {
|
||||
PsiReference ref = null;
|
||||
if (refElement == null) {
|
||||
ref = TargetElementUtilBase.findReference(editor, offset);
|
||||
ref = TargetElementUtil.findReference(editor, offset);
|
||||
if (ref instanceof PsiJavaReference) {
|
||||
refElement = ((PsiJavaReference)ref).advancedResolve(true).getElement();
|
||||
}
|
||||
@@ -118,7 +124,7 @@ public class TargetElementUtil extends TargetElementEvaluatorEx2 implements Targ
|
||||
if (refElement != null) {
|
||||
if ((flags & NEW_AS_CONSTRUCTOR) != 0) {
|
||||
if (ref == null) {
|
||||
ref = TargetElementUtilBase.findReference(editor, offset);
|
||||
ref = TargetElementUtil.findReference(editor, offset);
|
||||
}
|
||||
if (ref != null) {
|
||||
PsiElement parent = ref.getElement().getParent();
|
||||
@@ -170,7 +176,7 @@ public class TargetElementUtil extends TargetElementEvaluatorEx2 implements Targ
|
||||
|
||||
@Nullable
|
||||
public static PsiReferenceExpression findReferenceExpression(Editor editor) {
|
||||
final PsiReference ref = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference ref = TargetElementUtil.findReference(editor);
|
||||
return ref instanceof PsiReferenceExpression ? (PsiReferenceExpression)ref : null;
|
||||
}
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.JavaTargetElementEvaluator;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightUtil;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
@@ -249,7 +249,7 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
|
||||
final List<ParameterInfoImpl> parameterInfos = newParametersInfo != null
|
||||
? new ArrayList<ParameterInfoImpl>(Arrays.asList(newParametersInfo))
|
||||
: new ArrayList<ParameterInfoImpl>();
|
||||
final PsiReferenceExpression refExpr = TargetElementUtil.findReferenceExpression(editor);
|
||||
final PsiReferenceExpression refExpr = JavaTargetElementEvaluator.findReferenceExpression(editor);
|
||||
JavaChangeSignatureDialog dialog = JavaChangeSignatureDialog.createAndPreselectNew(project, method, parameterInfos, allowDelegation, refExpr);
|
||||
dialog.setParameterInfos(parameterInfos);
|
||||
dialog.show();
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -74,7 +74,7 @@ public class SurroundWithArrayFix extends PsiElementBaseIntentionAction {
|
||||
final PsiMethod psiMethod = (PsiMethod)method;
|
||||
return checkMethod(element, psiMethod);
|
||||
} else if (myMethodCall instanceof PsiMethodCallExpression){
|
||||
final Collection<PsiElement> psiElements = TargetElementUtilBase.getInstance()
|
||||
final Collection<PsiElement> psiElements = TargetElementUtil.getInstance()
|
||||
.getTargetCandidates(((PsiMethodCallExpression)myMethodCall).getMethodExpression());
|
||||
for (PsiElement psiElement : psiElements) {
|
||||
if (psiElement instanceof PsiMethod) {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.hint.actions;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.daemon.impl.PsiElementListNavigator;
|
||||
import com.intellij.ide.util.MethodCellRenderer;
|
||||
import com.intellij.ide.util.PsiClassListCellRenderer;
|
||||
@@ -54,9 +54,9 @@ public class ShowSiblingsAction extends ShowImplementationsAction {
|
||||
|
||||
|
||||
if (editor != null) {
|
||||
PsiReference ref = TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset());
|
||||
PsiReference ref = TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (element == null && ref != null) {
|
||||
element = TargetElementUtilBase.getInstance().adjustReference(ref);
|
||||
element = TargetElementUtil.getInstance().adjustReference(ref);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.navigation.actions;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
@@ -46,7 +46,7 @@ public class JavaTypeDeclarationProvider implements TypeDeclarationPlaceAwarePro
|
||||
}
|
||||
if (type == null) return null;
|
||||
if (editor != null) {
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor, offset);
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor, offset);
|
||||
if (reference instanceof PsiJavaReference) {
|
||||
final JavaResolveResult resolveResult = ((PsiJavaReference)reference).advancedResolve(true);
|
||||
type = resolveResult.getSubstitutor().substitute(type);
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ package com.intellij.codeInspection.actions;
|
||||
|
||||
import com.intellij.codeInsight.ChangeContextUtil;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.intention.impl.BaseIntentionAction;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.Result;
|
||||
@@ -68,7 +68,7 @@ public class ReplaceImplementsWithStaticImportAction extends BaseIntentionAction
|
||||
return isEmptyClass(project, (PsiClass)parent) && DirectClassInheritorsSearch.search((PsiClass)parent).findFirst() != null;
|
||||
}
|
||||
}
|
||||
final PsiReference psiReference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference psiReference = TargetElementUtil.findReference(editor);
|
||||
if (psiReference == null) return false;
|
||||
|
||||
final PsiReferenceList referenceList = PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiReferenceList.class);
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@
|
||||
package com.intellij.codeInspection.actions;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -51,7 +51,7 @@ public class UnimplementInterfaceAction implements IntentionAction {
|
||||
@Override
|
||||
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!(file instanceof PsiJavaFile)) return false;
|
||||
final PsiReference psiReference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference psiReference = TargetElementUtil.findReference(editor);
|
||||
if (psiReference == null) return false;
|
||||
|
||||
final PsiReferenceList referenceList = PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiReferenceList.class);
|
||||
@@ -95,7 +95,7 @@ public class UnimplementInterfaceAction implements IntentionAction {
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(file)) return;
|
||||
|
||||
final PsiReference psiReference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference psiReference = TargetElementUtil.findReference(editor);
|
||||
if (psiReference == null) return;
|
||||
|
||||
final PsiReferenceList referenceList = PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiReferenceList.class);
|
||||
|
||||
+3
-3
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
package com.intellij.codeInspection.concurrencyAnnotations;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -57,7 +57,7 @@ public class JCiPOrderEntryFix implements IntentionAction {
|
||||
public boolean isAvailable(@NotNull final Project project, final Editor editor, final PsiFile file) {
|
||||
if (!(file instanceof PsiJavaFile)) return false;
|
||||
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor);
|
||||
if (!(reference instanceof PsiJavaCodeReferenceElement)) return false;
|
||||
if (reference.resolve() != null) return false;
|
||||
@NonNls final String referenceName = ((PsiJavaCodeReferenceElement)reference).getReferenceName();
|
||||
@@ -74,7 +74,7 @@ public class JCiPOrderEntryFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException {
|
||||
final PsiJavaCodeReferenceElement reference = (PsiJavaCodeReferenceElement)TargetElementUtilBase.findReference(editor);
|
||||
final PsiJavaCodeReferenceElement reference = (PsiJavaCodeReferenceElement)TargetElementUtil.findReference(editor);
|
||||
LOG.assertTrue(reference != null);
|
||||
String jarPath = PathUtil.getJarPathForClass(GuardedBy.class);
|
||||
final VirtualFile virtualFile = file.getVirtualFile();
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
package com.intellij.find.findUsages;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -35,7 +35,7 @@ public class ThrowsUsageTargetProvider implements UsageTargetProvider {
|
||||
public UsageTarget[] getTargets(Editor editor, final PsiFile file) {
|
||||
if (editor == null || file == null) return null;
|
||||
|
||||
PsiElement element = file.findElementAt(TargetElementUtilBase.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset()));
|
||||
PsiElement element = file.findElementAt(TargetElementUtil.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset()));
|
||||
if (element == null) return null;
|
||||
|
||||
if (element instanceof PsiKeyword && PsiKeyword.THROWS.equals(element.getText())) {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.ide.hierarchy.type;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.ide.hierarchy.HierarchyBrowser;
|
||||
import com.intellij.ide.hierarchy.HierarchyProvider;
|
||||
import com.intellij.ide.hierarchy.TypeHierarchyBrowserBase;
|
||||
@@ -44,9 +44,9 @@ public class JavaTypeHierarchyProvider implements HierarchyProvider {
|
||||
final PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
|
||||
if (file == null) return null;
|
||||
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(editor, TargetElementUtil.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtil.LOOKUP_ITEM_ACCEPTED);
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("target element " + targetElement);
|
||||
}
|
||||
|
||||
+2
-4
@@ -15,12 +15,10 @@
|
||||
*/
|
||||
package com.intellij.refactoring.changeSignature;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.JavaTargetElementEvaluator;
|
||||
import com.intellij.ide.util.SuperMethodWarningUtil;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.ScrollType;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -89,7 +87,7 @@ public class JavaChangeSignatureHandler implements ChangeSignatureHandler {
|
||||
if (!CommonRefactoringUtil.checkReadOnlyStatus(project, method)) return;
|
||||
|
||||
final PsiClass containingClass = method.getContainingClass();
|
||||
final PsiReferenceExpression refExpr = editor != null ? TargetElementUtil.findReferenceExpression(editor) : null;
|
||||
final PsiReferenceExpression refExpr = editor != null ? JavaTargetElementEvaluator.findReferenceExpression(editor) : null;
|
||||
final boolean allowDelegation = containingClass != null && (!containingClass.isInterface() || PsiUtil.isLanguageLevel8OrHigher(containingClass));
|
||||
final DialogWrapper dialog = new JavaChangeSignatureDialog(project, method, allowDelegation, refExpr == null ? method : refExpr);
|
||||
dialog.show();
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.StdLanguages;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -92,7 +92,7 @@ public class InlineConstantFieldHandler extends JavaInlineActionHandler {
|
||||
}
|
||||
}
|
||||
|
||||
PsiReference reference = editor != null ? TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
PsiReference reference = editor != null ? TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
if (reference != null) {
|
||||
final PsiElement resolve = reference.resolve();
|
||||
if (resolve != null && !field.equals(resolve.getNavigationElement())) {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.ExceptionUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager;
|
||||
import com.intellij.codeInsight.intention.QuickFixFactory;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
@@ -63,7 +63,7 @@ public class InlineLocalHandler extends JavaInlineActionHandler {
|
||||
}
|
||||
|
||||
public void inlineElement(Project project, Editor editor, PsiElement element) {
|
||||
final PsiReference psiReference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference psiReference = TargetElementUtil.findReference(editor);
|
||||
final PsiReferenceExpression refExpr = psiReference instanceof PsiReferenceExpression ? ((PsiReferenceExpression)psiReference) : null;
|
||||
invoke(project, editor, (PsiLocalVariable) element, refExpr);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.StdLanguages;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -55,7 +55,7 @@ class InlineMethodHandler extends JavaInlineActionHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
PsiReference reference = editor != null ? TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
PsiReference reference = editor != null ? TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
if (reference != null) {
|
||||
final PsiElement refElement = reference.getElement();
|
||||
if (refElement != null && !isEnabledForLanguage(refElement.getLanguage())) {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.PsiEquivalenceUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInspection.sameParameterValue.SameParameterValueInspection;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
@@ -118,7 +118,7 @@ public class InlineParameterHandler extends JavaInlineActionHandler {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor);
|
||||
final PsiReferenceExpression refExpr = reference instanceof PsiReferenceExpression ? ((PsiReferenceExpression)reference) : null;
|
||||
final PsiCodeBlock codeBlock = PsiTreeUtil.getParentOfType(refExpr, PsiCodeBlock.class);
|
||||
if (codeBlock != null) {
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.StdLanguages;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -98,7 +98,7 @@ public class InlineToAnonymousClassHandler extends JavaInlineActionHandler {
|
||||
@Override
|
||||
public boolean canInlineElementInEditor(PsiElement element, Editor editor) {
|
||||
if (canInlineElement(element)) {
|
||||
PsiReference reference = editor != null ? TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
PsiReference reference = editor != null ? TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
if (!InlineMethodHandler.isThisReference(reference)) {
|
||||
if (element instanceof PsiMethod && reference != null) {
|
||||
final PsiElement referenceElement = reference.getElement();
|
||||
@@ -191,7 +191,7 @@ public class InlineToAnonymousClassHandler extends JavaInlineActionHandler {
|
||||
@Nullable
|
||||
public static PsiCall findCallToInline(final Editor editor) {
|
||||
PsiCall callToInline = null;
|
||||
PsiReference reference = editor != null ? TargetElementUtilBase.findReference(editor) : null;
|
||||
PsiReference reference = editor != null ? TargetElementUtil.findReference(editor) : null;
|
||||
if (reference != null) {
|
||||
final PsiElement element = reference.getElement();
|
||||
if (element instanceof PsiJavaCodeReferenceElement) {
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring.inlineSuperClass;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.StdLanguages;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -67,7 +67,7 @@ public class InlineSuperClassRefactoringHandler extends JavaInlineActionHandler
|
||||
}
|
||||
|
||||
PsiClass chosen = null;
|
||||
PsiReference reference = editor != null ? TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
PsiReference reference = editor != null ? TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
if (reference != null) {
|
||||
final PsiElement resolve = reference.resolve();
|
||||
if (resolve == superClass) {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring.introduceField;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.unwrap.ScopeHighlighter;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.RangeMarker;
|
||||
@@ -24,7 +24,8 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.Pass;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.*;
|
||||
import com.intellij.psi.util.PsiExpressionTrimRenderer;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.refactoring.IntroduceTargetChooser;
|
||||
import com.intellij.refactoring.RefactoringBundle;
|
||||
import com.intellij.refactoring.introduceVariable.IntroduceVariableBase;
|
||||
@@ -68,17 +69,17 @@ public class ElementToWorkOn {
|
||||
PsiExpression expr = null;
|
||||
|
||||
if (!editor.getSelectionModel().hasSelection()) {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase
|
||||
.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase
|
||||
.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtilBase
|
||||
.LOOKUP_ITEM_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(editor, TargetElementUtil
|
||||
.ELEMENT_NAME_ACCEPTED | TargetElementUtil
|
||||
.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtil
|
||||
.LOOKUP_ITEM_ACCEPTED);
|
||||
if (element instanceof PsiLocalVariable) {
|
||||
localVar = (PsiLocalVariable) element;
|
||||
PsiElement elementAt = file.findElementAt(editor.getCaretModel().getOffset());
|
||||
if (elementAt instanceof PsiIdentifier && elementAt.getParent() instanceof PsiReferenceExpression) {
|
||||
expr = (PsiExpression) elementAt.getParent();
|
||||
} else {
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor);
|
||||
if (reference != null) {
|
||||
final PsiElement refElement = reference.getElement();
|
||||
if (refElement instanceof PsiReferenceExpression) {
|
||||
|
||||
@@ -15,12 +15,10 @@
|
||||
*/
|
||||
package com.intellij.refactoring.tempWithQuery;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -55,9 +53,11 @@ public class TempWithQueryHandler implements RefactoringActionHandler {
|
||||
private static final String REFACTORING_NAME = RefactoringBundle.message("replace.temp.with.query.title");
|
||||
|
||||
public void invoke(@NotNull final Project project, final Editor editor, PsiFile file, DataContext dataContext) {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase
|
||||
.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase
|
||||
.LOOKUP_ITEM_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(editor, TargetElementUtil
|
||||
.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil
|
||||
.LOOKUP_ITEM_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
editor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE);
|
||||
if (!(element instanceof PsiLocalVariable)) {
|
||||
String message = RefactoringBundle.getCannotRefactorMessage(RefactoringBundle.message("error.wrong.caret.position.local.name"));
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring.typeMigration;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -36,7 +36,7 @@ public class ChangeTypeSignatureHandler implements RefactoringActionHandler {
|
||||
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file, DataContext dataContext) {
|
||||
editor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE);
|
||||
final int offset = TargetElementUtilBase.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
final int offset = TargetElementUtil.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
final PsiElement element = file.findElementAt(offset);
|
||||
PsiTypeElement typeElement = PsiTreeUtil.getParentOfType(element, PsiTypeElement.class);
|
||||
while (typeElement != null) {
|
||||
|
||||
+2
-3
@@ -15,11 +15,10 @@
|
||||
*/
|
||||
package com.intellij.refactoring.typeMigration.actions;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
@@ -53,7 +52,7 @@ public class ChangeTypeSignatureAction extends BaseRefactoringAction {
|
||||
}
|
||||
|
||||
protected boolean isAvailableOnElementInEditorAndFile(@NotNull final PsiElement element, @NotNull final Editor editor, @NotNull PsiFile file, @NotNull DataContext context) {
|
||||
final int offset = TargetElementUtilBase.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
final int offset = TargetElementUtil.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
final PsiElement psiElement = file.findElementAt(offset);
|
||||
final PsiReferenceParameterList referenceParameterList = PsiTreeUtil.getParentOfType(psiElement, PsiReferenceParameterList.class);
|
||||
if (referenceParameterList != null) {
|
||||
|
||||
@@ -19,7 +19,7 @@ import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.analysis.AnalysisUIOptions;
|
||||
import com.intellij.analysis.BaseAnalysisActionDialog;
|
||||
import com.intellij.codeInsight.CodeInsightActionHandler;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.hint.HintManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -60,7 +60,7 @@ public class SliceHandler implements CodeInsightActionHandler {
|
||||
|
||||
@Nullable
|
||||
public PsiElement getExpressionAtCaret(final Editor editor, final PsiFile file) {
|
||||
int offset = TargetElementUtilBase.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
int offset = TargetElementUtil.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
if (offset == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.vcsUtil;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
@@ -34,7 +34,7 @@ public class JavaVcsSelectionProvider implements VcsSelectionProvider {
|
||||
public VcsSelection getSelection(final VcsContext context) {
|
||||
final Editor editor = context.getEditor();
|
||||
if (editor == null) return null;
|
||||
PsiElement psiElement = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement psiElement = TargetElementUtil.findTargetElement(editor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
if (psiElement == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+5
-5
@@ -16,7 +16,7 @@
|
||||
package com.intellij.codeInsight.completion
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightSettings
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.codeInsight.completion.impl.CompletionServiceImpl
|
||||
import com.intellij.codeInsight.editorActions.CompletionAutoPopupHandler
|
||||
import com.intellij.codeInsight.lookup.Lookup
|
||||
@@ -1119,17 +1119,17 @@ class Foo {
|
||||
type('x')
|
||||
assertContains 'x__foo', 'x__goo'
|
||||
edt {
|
||||
assert foo == TargetElementUtilBase.instance.findTargetElement(myFixture.editor, TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED)
|
||||
assert foo == TargetElementUtil.instance.findTargetElement(myFixture.editor, TargetElementUtil.LOOKUP_ITEM_ACCEPTED)
|
||||
myFixture.performEditorAction(IdeActions.ACTION_EDITOR_MOVE_CARET_DOWN)
|
||||
assert goo == TargetElementUtilBase.instance.findTargetElement(myFixture.editor, TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED)
|
||||
assert goo == TargetElementUtil.instance.findTargetElement(myFixture.editor, TargetElementUtil.LOOKUP_ITEM_ACCEPTED)
|
||||
}
|
||||
|
||||
type('_')
|
||||
myFixture.assertPreferredCompletionItems 1, 'x__foo', 'x__goo'
|
||||
edt {
|
||||
assert goo == TargetElementUtilBase.instance.findTargetElement(myFixture.editor, TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED)
|
||||
assert goo == TargetElementUtil.instance.findTargetElement(myFixture.editor, TargetElementUtil.LOOKUP_ITEM_ACCEPTED)
|
||||
myFixture.performEditorAction(IdeActions.ACTION_EDITOR_MOVE_CARET_UP)
|
||||
assert foo == TargetElementUtilBase.instance.findTargetElement(myFixture.editor, TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED)
|
||||
assert foo == TargetElementUtil.instance.findTargetElement(myFixture.editor, TargetElementUtil.LOOKUP_ITEM_ACCEPTED)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+8
-8
@@ -1,6 +1,6 @@
|
||||
package com.intellij.codeInsight.daemon;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.hint.ImplementationViewComponent;
|
||||
import com.intellij.codeInsight.navigation.ClassImplementationsSearch;
|
||||
import com.intellij.codeInsight.navigation.MethodImplementationsSearch;
|
||||
@@ -43,7 +43,7 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
|
||||
myFixture.completeBasic();
|
||||
|
||||
PsiElement element =
|
||||
TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
|
||||
assert element != null;
|
||||
final String newText = ImplementationViewComponent.getNewText(element);
|
||||
@@ -71,7 +71,7 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
|
||||
" }\n" +
|
||||
"}");
|
||||
PsiElement element =
|
||||
TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
|
||||
assert element != null;
|
||||
final String newText = ImplementationViewComponent.getNewText(element);
|
||||
@@ -120,7 +120,7 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
|
||||
" \n" +
|
||||
"}");
|
||||
PsiClass psiClass =
|
||||
(PsiClass)TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
(PsiClass)TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
|
||||
assert psiClass != null;
|
||||
final Collection<PsiElement> classes = getClassImplementations(psiClass);
|
||||
@@ -152,7 +152,7 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
|
||||
" }\n" +
|
||||
"}");
|
||||
PsiClass psiClass =
|
||||
(PsiClass)TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
(PsiClass)TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
|
||||
assert psiClass != null;
|
||||
final Collection<PsiElement> classes = getClassImplementations(psiClass);
|
||||
@@ -173,7 +173,7 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
|
||||
" }\n" +
|
||||
"}");
|
||||
PsiMethod psiMethod =
|
||||
(PsiMethod)TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
(PsiMethod)TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
|
||||
assert psiMethod != null;
|
||||
final Collection<PsiElement> methods = getMethodImplementations(psiMethod);
|
||||
@@ -195,7 +195,7 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
|
||||
" }\n" +
|
||||
"}");
|
||||
PsiMethod psiMethod =
|
||||
(PsiMethod)TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
(PsiMethod)TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
|
||||
assert psiMethod != null;
|
||||
final Collection<PsiElement> methods = getMethodImplementations(psiMethod);
|
||||
@@ -230,7 +230,7 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
|
||||
" \n" +
|
||||
"}");
|
||||
PsiMethod psiMethod =
|
||||
(PsiMethod)TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
(PsiMethod)TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
|
||||
assert psiMethod != null;
|
||||
final Collection<PsiMethod> methods = OverridingMethodsSearch.search(psiMethod).findAll();
|
||||
|
||||
+3
-3
@@ -2,7 +2,7 @@
|
||||
package com.intellij.codeInsight.navigation;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.navigation.actions.GotoDeclarationAction;
|
||||
import com.intellij.openapi.editor.ScrollType;
|
||||
import com.intellij.psi.*;
|
||||
@@ -57,7 +57,7 @@ public class GotoDeclarationTest extends LightCodeInsightTestCase {
|
||||
GotoDeclarationAction.findAllTargetElements(getProject(), getEditor(), offset);
|
||||
assertEquals(Arrays.asList(elements).toString(), 0, elements.length);
|
||||
|
||||
final TargetElementUtilBase elementUtilBase = TargetElementUtilBase.getInstance();
|
||||
final TargetElementUtil elementUtilBase = TargetElementUtil.getInstance();
|
||||
final PsiReference reference = getFile().findReferenceAt(offset);
|
||||
assertNotNull(reference);
|
||||
final Collection<PsiElement> candidates = elementUtilBase.getTargetCandidates(reference);
|
||||
@@ -70,7 +70,7 @@ public class GotoDeclarationTest extends LightCodeInsightTestCase {
|
||||
final int offset = getEditor().getCaretModel().getOffset();
|
||||
final PsiReference reference = getFile().findReferenceAt(offset);
|
||||
assertNotNull(reference);
|
||||
final Collection<PsiElement> candidates = TargetElementUtilBase.getInstance().getTargetCandidates(reference);
|
||||
final Collection<PsiElement> candidates = TargetElementUtil.getInstance().getTargetCandidates(reference);
|
||||
assertEquals(candidates.toString(), 1, candidates.size());
|
||||
final PsiElement item = ContainerUtil.getFirstItem(candidates);
|
||||
assertNotNull(item);
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
*/
|
||||
package com.intellij.lang.spi;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.refactoring.MultiFileTestCase;
|
||||
@@ -43,9 +42,9 @@ public class SPIRenameTest extends MultiFileTestCase {
|
||||
final VirtualFile file = rootDir.findFileByRelativePath("foo/" + editorFile);
|
||||
assert file != null;
|
||||
configureByExistingFile(file);
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor,
|
||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(myEditor,
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assert element != null;
|
||||
final PsiElement substitution = RenamePsiElementProcessor.forElement(element).substituteElementToRename(element, myEditor);
|
||||
assert substitution != null;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.intellij.navigation;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.CommonClassNames;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -35,7 +35,7 @@ public class ShowImplementationHandlerTest extends JavaCodeInsightFixtureTestCas
|
||||
myFixture.configureFromExistingVirtualFile(file.getVirtualFile());
|
||||
|
||||
final PsiElement element =
|
||||
TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted());
|
||||
assertTrue(element instanceof PsiClass);
|
||||
final String qualifiedName = ((PsiClass)element).getQualifiedName();
|
||||
assertEquals(CommonClassNames.JAVA_LANG_RUNNABLE, qualifiedName);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.refactoring.changeSignature.ChangeSignatureProcessor;
|
||||
import com.intellij.refactoring.changeSignature.JavaThrownExceptionInfo;
|
||||
@@ -104,7 +104,7 @@ public abstract class ChangeSignatureBaseTest extends LightRefactoringTestCase {
|
||||
boolean generateDelegate) {
|
||||
String basePath = getRelativePath() + getTestName(false);
|
||||
configureByFile(basePath + ".java");
|
||||
PsiElement targetElement = TargetElementUtilBase.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement targetElement = TargetElementUtil.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof PsiMethod);
|
||||
PsiMethod method = (PsiMethod)targetElement;
|
||||
PsiType newType = newReturnType != null ? myFactory.createTypeFromText(newReturnType, method) : method.getReturnType();
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.searches.ClassInheritorsSearch;
|
||||
@@ -146,7 +146,7 @@ public class ChangeSignaturePropagationTest extends LightRefactoringTestCase {
|
||||
private PsiMethod getPrimaryMethod() throws Exception {
|
||||
final String filePath = getBasePath() + getTestName(false) + ".java";
|
||||
configureByFile(filePath);
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof PsiMethod);
|
||||
return (PsiMethod) targetElement;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
|
||||
@@ -397,7 +397,7 @@ public class ChangeSignatureTest extends ChangeSignatureBaseTest {
|
||||
public void testPropagateParameter() {
|
||||
String basePath = getRelativePath() + getTestName(false);
|
||||
configureByFile(basePath + ".java");
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof PsiMethod);
|
||||
PsiMethod method = (PsiMethod)targetElement;
|
||||
final PsiClass containingClass = method.getContainingClass();
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -29,7 +29,7 @@ public class ExtractMethodObjectTest extends LightRefactoringTestCase {
|
||||
private void doTest(final boolean createInnerClass) throws Exception {
|
||||
final String testName = getTestName(false);
|
||||
configureByFile("/refactoring/extractMethodObject/" + testName + ".java");
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue(element instanceof PsiMethod);
|
||||
final PsiMethod method = (PsiMethod) element;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMember;
|
||||
@@ -29,7 +29,7 @@ public abstract class FindMethodDuplicatesBaseTest extends LightCodeInsightTestC
|
||||
protected void doTest(final boolean shouldSucceed) throws Exception {
|
||||
final String filePath = getTestFilePath();
|
||||
configureByFile(filePath);
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof PsiMember);
|
||||
final PsiMember psiMethod = (PsiMember)targetElement;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.codeInsight.template.TemplateManager
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
|
||||
import com.intellij.codeInsight.template.impl.TemplateState
|
||||
@@ -107,7 +107,7 @@ class InplaceRenameInvariantTest extends LightCodeInsightTestCase {
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
myEditor.settings.preselectRename = preselect;
|
||||
int offset = myEditor.caretModel.offset
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.getInstance().getAllAccepted())
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.getInstance().getAllAccepted())
|
||||
|
||||
assertNotNull(element)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiNamedElement;
|
||||
@@ -14,7 +14,7 @@ import com.intellij.testFramework.TestDataPath;
|
||||
public class InvertBooleanTest extends LightRefactoringParameterizedTestCase {
|
||||
@Override
|
||||
protected void perform() {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue(element instanceof PsiNamedElement);
|
||||
|
||||
final PsiNamedElement namedElement = (PsiNamedElement)element;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
@@ -65,7 +65,7 @@ public class MakeClassStaticTest extends LightRefactoringTestCase {
|
||||
|
||||
private void perform() throws Exception {
|
||||
configureByFile(TEST_ROOT + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue(element instanceof PsiClass);
|
||||
PsiClass aClass = (PsiClass)element;
|
||||
|
||||
@@ -80,7 +80,7 @@ public class MakeClassStaticTest extends LightRefactoringTestCase {
|
||||
|
||||
private void performWithFields() throws Exception {
|
||||
configureByFile(TEST_ROOT + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue(element instanceof PsiClass);
|
||||
PsiClass aClass = (PsiClass)element;
|
||||
final ArrayList<VariableData> parametersForFields = new ArrayList<VariableData>();
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.refactoring.makeStatic.MakeMethodStaticProcessor;
|
||||
@@ -194,7 +194,7 @@ public class MakeMethodStaticTest extends LightRefactoringTestCase {
|
||||
|
||||
public void testInnerStaticClassUsed() throws Exception {
|
||||
configureByFile("/refactoring/makeMethodStatic/beforeInnerStaticClassUsed.java");
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue(element instanceof PsiMethod);
|
||||
assertFalse(MakeStaticUtil.isParameterNeeded((PsiMethod)element));
|
||||
}
|
||||
@@ -230,7 +230,7 @@ public class MakeMethodStaticTest extends LightRefactoringTestCase {
|
||||
|
||||
|
||||
private static void perform(boolean addClassParameter) {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue(element instanceof PsiMethod);
|
||||
PsiMethod method = (PsiMethod) element;
|
||||
|
||||
@@ -245,7 +245,7 @@ public class MakeMethodStaticTest extends LightRefactoringTestCase {
|
||||
}
|
||||
|
||||
private static void performWithFields(boolean delegate) {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue(element instanceof PsiMethod);
|
||||
PsiMethod method = (PsiMethod) element;
|
||||
final ArrayList<VariableData> parametersForFields = new ArrayList<VariableData>();
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
@@ -69,7 +69,7 @@ public class PushDownTest extends LightRefactoringTestCase {
|
||||
private void doTest(final boolean failure) {
|
||||
configureByFile(BASE_PATH + getTestName(false) + ".java");
|
||||
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on member name", targetElement instanceof PsiMember);
|
||||
|
||||
final PsiMember psiMember = (PsiMember)targetElement;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.refactoring.rename.PsiElementRenameHandler;
|
||||
import com.intellij.refactoring.rename.RenameProcessor;
|
||||
@@ -244,8 +244,8 @@ public class RenameCollisionsTest extends LightRefactoringTestCase {
|
||||
|
||||
private void doTestImpossibleToRename() throws Exception {
|
||||
configureByFile(BASE_PATH + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
assertTrue(PsiElementRenameHandler.isVetoed(element));
|
||||
}
|
||||
@@ -271,8 +271,8 @@ public class RenameCollisionsTest extends LightRefactoringTestCase {
|
||||
|
||||
private void doTest(final String newName) throws Exception {
|
||||
configureByFile(BASE_PATH + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
new RenameProcessor(getProject(), element, newName, true, true).run();
|
||||
checkResultByFile(BASE_PATH + getTestName(false) + ".java.after");
|
||||
@@ -280,8 +280,8 @@ public class RenameCollisionsTest extends LightRefactoringTestCase {
|
||||
|
||||
public void testAllUsagesInCode() throws Exception {
|
||||
configureByFile(BASE_PATH + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
final UsageInfo[] usageInfos = RenameUtil.findUsages(element, "newName", true, true, new HashMap<PsiElement, String>());
|
||||
assertSize(1, usageInfos);
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
@@ -94,8 +94,9 @@ public class RenameFieldTest extends LightRefactoringTestCase {
|
||||
}
|
||||
|
||||
protected static void perform(String newName) {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase
|
||||
.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil
|
||||
.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
|
||||
new RenameProcessor(getProject(), element, newName, false, false).run();
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl;
|
||||
import com.intellij.codeInsight.template.impl.TemplateState;
|
||||
import com.intellij.lang.java.JavaRefactoringSupportProvider;
|
||||
@@ -59,8 +59,8 @@ public class RenameLocalTest extends LightRefactoringTestCase {
|
||||
|
||||
public void testRenameParamUniqueName() throws Exception {
|
||||
configureByFile(BASE_PATH + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
final HashSet<String> result = new HashSet<String>();
|
||||
new JavaNameSuggestionProvider().getSuggestedNames(element, getFile(), result);
|
||||
@@ -69,8 +69,8 @@ public class RenameLocalTest extends LightRefactoringTestCase {
|
||||
|
||||
private void doTest(final String newName) throws Exception {
|
||||
configureByFile(BASE_PATH + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
new RenameProcessor(getProject(), element, newName, true, true).run();
|
||||
checkResultByFile(BASE_PATH + getTestName(false) + "_after.java");
|
||||
@@ -123,7 +123,8 @@ public class RenameLocalTest extends LightRefactoringTestCase {
|
||||
private void doTestInplaceRename(final String newName) throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(false) + ".java");
|
||||
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
final PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
assertTrue("In-place rename not allowed for " + element,
|
||||
JavaRefactoringSupportProvider.mayRenameInplace(element, null));
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.refactoring.rename.JavaNameSuggestionProvider;
|
||||
import com.intellij.refactoring.rename.inplace.MemberInplaceRenameHandler;
|
||||
@@ -87,7 +87,7 @@ public class RenameMembersInplaceTest extends LightCodeInsightTestCase {
|
||||
public void testNameSuggestion() throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(false) + ".java");
|
||||
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.getInstance().getAllAccepted());
|
||||
assertNotNull(element);
|
||||
|
||||
final Set<String> result = new LinkedHashSet<String>();
|
||||
@@ -113,7 +113,7 @@ public class RenameMembersInplaceTest extends LightCodeInsightTestCase {
|
||||
private void doTestInplaceRename(final String newName) throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(false) + ".java");
|
||||
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.getInstance().getAllAccepted());
|
||||
assertNotNull(element);
|
||||
|
||||
CodeInsightTestUtil.doInlineRename(new MemberInplaceRenameHandler(), newName, getEditor(), element);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.refactoring
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.codeInsight.lookup.LookupEx
|
||||
import com.intellij.codeInsight.lookup.LookupManager
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
|
||||
@@ -133,7 +133,7 @@ class Car {}
|
||||
def oldPreselectSetting = myEditor.settings.preselectRename
|
||||
try {
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.getInstance().getAllAccepted())
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil.getInstance().getAllAccepted())
|
||||
|
||||
assertNotNull(element)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
@@ -313,8 +313,8 @@ public class SafeDeleteTest extends MultiFileTestCase {
|
||||
}
|
||||
|
||||
private void performAction() {
|
||||
final PsiElement psiElement = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
final PsiElement psiElement = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull("No element found in text:\n" + getFile().getText(), psiElement);
|
||||
SafeDeleteHandler.invoke(getProject(), new PsiElement[]{psiElement}, true);
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring.changeClassSignature;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.refactoring.LightRefactoringTestCase;
|
||||
@@ -147,7 +147,7 @@ public class ChangeClassSignatureTest extends LightRefactoringTestCase {
|
||||
private void doTest(GenParams gen, @NonNls String filePathBefore, @NonNls String filePathAfter) throws Exception {
|
||||
final String filePath = DATA_PATH + filePathBefore;
|
||||
configureByFile(filePath);
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on class name", targetElement instanceof PsiClass);
|
||||
PsiClass aClass = (PsiClass)targetElement;
|
||||
new ChangeClassSignatureProcessor(getProject(), aClass, gen.gen(aClass)).run();
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring.convertToInstanceMethod;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiModifier;
|
||||
@@ -52,7 +52,7 @@ public class ConvertToInstanceMethodTest extends LightRefactoringTestCase {
|
||||
private void doTest(final int targetParameter, final String visibility) throws Exception {
|
||||
final String filePath = "/refactoring/convertToInstanceMethod/" + getTestName(false) + ".java";
|
||||
configureByFile(filePath);
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof PsiMethod);
|
||||
PsiMethod method = (PsiMethod) targetElement;
|
||||
new ConvertToInstanceMethodProcessor(getProject(),
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.refactoring.LightRefactoringTestCase;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -47,8 +47,8 @@ public class InlineConstantFieldTest extends LightRefactoringTestCase {
|
||||
}
|
||||
|
||||
private void performAction() {
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
final PsiReference ref = myFile.findReferenceAt(myEditor.getCaretModel().getOffset());
|
||||
PsiReferenceExpression refExpr = ref instanceof PsiReferenceExpression ? (PsiReferenceExpression)ref : null;
|
||||
assertTrue(element instanceof PsiField);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
@@ -271,15 +271,15 @@ public class InlineLocalTest extends LightCodeInsightTestCase {
|
||||
}
|
||||
|
||||
public static void performInline(Project project, Editor editor) {
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(editor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(editor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertTrue(element instanceof PsiLocalVariable);
|
||||
|
||||
InlineLocalHandler.invoke(project, editor, (PsiLocalVariable)element, null);
|
||||
}
|
||||
|
||||
public static void performDefInline(Project project, Editor editor) {
|
||||
PsiReference reference = TargetElementUtilBase.findReference(editor);
|
||||
PsiReference reference = TargetElementUtil.findReference(editor);
|
||||
assertTrue(reference instanceof PsiReferenceExpression);
|
||||
final PsiElement local = reference.resolve();
|
||||
assertTrue(local instanceof PsiLocalVariable);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -305,8 +305,8 @@ public class InlineMethodTest extends LightRefactoringTestCase {
|
||||
}
|
||||
|
||||
private void performAction(final InlineOptions options, final boolean nonCode) {
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
final PsiReference ref = myFile.findReferenceAt(myEditor.getCaretModel().getOffset());
|
||||
PsiReferenceExpression refExpr = ref instanceof PsiReferenceExpression ? (PsiReferenceExpression)ref : null;
|
||||
assertTrue(element instanceof PsiMethod);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.refactoring.BaseRefactoringProcessor;
|
||||
import com.intellij.refactoring.LightRefactoringTestCase;
|
||||
@@ -306,8 +306,9 @@ public class InlineParameterTest extends LightRefactoringTestCase {
|
||||
}
|
||||
|
||||
private static void performAction() {
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase
|
||||
.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil
|
||||
.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
new InlineParameterHandler().inlineElement(getProject(), myEditor, element);
|
||||
}
|
||||
}
|
||||
|
||||
+13
-11
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiCall;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiClassType;
|
||||
@@ -365,8 +365,8 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase {
|
||||
String name = getTestName(false);
|
||||
@NonNls String fileName = "/refactoring/inlineToAnonymousClass/" + name + ".java";
|
||||
configureByFile(fileName);
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertInstanceOf(element, PsiClass.class);
|
||||
|
||||
String message = InlineToAnonymousClassHandler.getCannotInlineMessage((PsiClass) element);
|
||||
@@ -383,8 +383,9 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase {
|
||||
|
||||
private void doTestPreprocessUsages(final String expectedMessage) throws Exception {
|
||||
configureByFile("/refactoring/inlineToAnonymousClass/" + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase
|
||||
.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil
|
||||
.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertInstanceOf(element, PsiClass.class);
|
||||
final PsiClass psiClass = (PsiClass)element;
|
||||
assertEquals(expectedMessage, InlineToAnonymousClassHandler.getCannotInlineMessage(psiClass));
|
||||
@@ -394,8 +395,9 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase {
|
||||
String name = getTestName(false);
|
||||
@NonNls String fileName = "/refactoring/inlineToAnonymousClass/" + name + ".java";
|
||||
configureByFile(fileName);
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase
|
||||
.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myEditor, TargetElementUtil
|
||||
.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertInstanceOf(element, PsiClass.class);
|
||||
|
||||
assertEquals(null, InlineToAnonymousClassHandler.getCannotInlineMessage((PsiClass) element));
|
||||
@@ -403,8 +405,8 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase {
|
||||
}
|
||||
|
||||
private void performAction(final boolean inlineThisOnly, final boolean searchInNonJavaFiles) {
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiCall callToInline = InlineToAnonymousClassHandler.findCallToInline(myEditor);
|
||||
PsiClass classToInline = (PsiClass) element;
|
||||
assertEquals(null, InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline));
|
||||
@@ -454,8 +456,8 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase {
|
||||
|
||||
private void doTestCanBeInvokedOnReference(boolean canBeInvokedOnReference) throws Exception {
|
||||
configureByFile("/refactoring/inlineToAnonymousClass/" + getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiCall callToInline = InlineToAnonymousClassHandler.findCallToInline(myEditor);
|
||||
PsiClass classToInline = (PsiClass) element;
|
||||
assertEquals(null, InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline));
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.intellij.refactoring.moveMethod;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiVariable;
|
||||
@@ -100,7 +100,7 @@ public class MoveInstanceMethodTest extends LightRefactoringTestCase {
|
||||
private void doTest(boolean isTargetParameter, final int targetIndex, final String newVisibility) throws Exception {
|
||||
final String filePath = "/refactoring/moveInstanceMethod/" + getTestName(false) + ".java";
|
||||
configureByFile(filePath);
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof PsiMethod);
|
||||
PsiMethod method = (PsiMethod) targetElement;
|
||||
final PsiVariable targetVariable = isTargetParameter ? method.getParameterList().getParameters()[targetIndex] :
|
||||
|
||||
+6
-6
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.testFramework.fixtures;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -30,7 +30,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class JavaCodeInsightTestUtil {
|
||||
private static final int TARGET_FOR_INLINE_FLAGS =
|
||||
TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED;
|
||||
TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED;
|
||||
|
||||
private JavaCodeInsightTestUtil() { }
|
||||
|
||||
@@ -41,7 +41,7 @@ public class JavaCodeInsightTestUtil {
|
||||
@Override
|
||||
protected void run(final Result result) throws Throwable {
|
||||
final Editor editor = fixture.getEditor();
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
assert element instanceof PsiLocalVariable : element;
|
||||
InlineLocalHandler.invoke(fixture.getProject(), editor, (PsiLocalVariable)element, null);
|
||||
}
|
||||
@@ -56,7 +56,7 @@ public class JavaCodeInsightTestUtil {
|
||||
@Override
|
||||
protected void run(final Result result) throws Throwable {
|
||||
final Editor editor = fixture.getEditor();
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
assert element instanceof PsiParameter : element;
|
||||
new InlineParameterHandler().inlineElement(getProject(), editor, element);
|
||||
}
|
||||
@@ -71,7 +71,7 @@ public class JavaCodeInsightTestUtil {
|
||||
@Override
|
||||
protected void run(final Result result) throws Throwable {
|
||||
final Editor editor = fixture.getEditor();
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
assert element instanceof PsiMethod : element;
|
||||
|
||||
final PsiReference ref = fixture.getFile().findReferenceAt(editor.getCaretModel().getOffset());
|
||||
@@ -92,7 +92,7 @@ public class JavaCodeInsightTestUtil {
|
||||
@Override
|
||||
protected void run(final Result result) throws Throwable {
|
||||
final Editor editor = fixture.getEditor();
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(editor, TARGET_FOR_INLINE_FLAGS);
|
||||
assert element instanceof PsiField : element;
|
||||
|
||||
final PsiReference ref = fixture.getFile().findReferenceAt(editor.getCaretModel().getOffset());
|
||||
|
||||
@@ -26,6 +26,11 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* Advanced customization interface used in {@link TargetElementUtil} class to support specifics of various languages.
|
||||
* The exact API is not documented and is subject to change.
|
||||
* Please refer to {@link TargetElementUtil} for additional information.
|
||||
*/
|
||||
public abstract class TargetElementEvaluatorEx2 implements TargetElementEvaluator {
|
||||
@Nullable
|
||||
public PsiElement getNamedElement(@NotNull PsiElement element) {
|
||||
|
||||
@@ -0,0 +1,443 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* User: anna
|
||||
* Date: 30-Jan-2008
|
||||
*/
|
||||
package com.intellij.codeInsight;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionUtil;
|
||||
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
|
||||
import com.intellij.codeInsight.lookup.Lookup;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.ide.util.EditSourceUtil;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.LanguageExtension;
|
||||
import com.intellij.lang.injection.InjectedLanguageManager;
|
||||
import com.intellij.navigation.NavigationItem;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.actions.EditorActionUtil;
|
||||
import com.intellij.openapi.editor.ex.util.EditorUtil;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.pom.Navigatable;
|
||||
import com.intellij.pom.PomDeclarationSearcher;
|
||||
import com.intellij.pom.PomTarget;
|
||||
import com.intellij.pom.PsiDeclaredTarget;
|
||||
import com.intellij.pom.references.PomService;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.PsiSearchHelper;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class TargetElementUtil {
|
||||
public static final int REFERENCED_ELEMENT_ACCEPTED = 0x01;
|
||||
public static final int ELEMENT_NAME_ACCEPTED = 0x02;
|
||||
public static final int LOOKUP_ITEM_ACCEPTED = 0x08;
|
||||
|
||||
public static TargetElementUtil getInstance() {
|
||||
return ServiceManager.getService(TargetElementUtil.class);
|
||||
}
|
||||
|
||||
public int getAllAccepted() {
|
||||
int result = REFERENCED_ELEMENT_ACCEPTED | ELEMENT_NAME_ACCEPTED | LOOKUP_ITEM_ACCEPTED;
|
||||
for (TargetElementUtilExtender each : Extensions.getExtensions(TargetElementUtilExtender.EP_NAME)) {
|
||||
result |= each.getAllAdditionalFlags();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getDefinitionSearchFlags() {
|
||||
int result = getAllAccepted();
|
||||
for (TargetElementUtilExtender each : Extensions.getExtensions(TargetElementUtilExtender.EP_NAME)) {
|
||||
result |= each.getAdditionalDefinitionSearchFlags();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getReferenceSearchFlags() {
|
||||
int result = getAllAccepted();
|
||||
for (TargetElementUtilExtender each : Extensions.getExtensions(TargetElementUtilExtender.EP_NAME)) {
|
||||
result |= each.getAdditionalReferenceSearchFlags();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiReference findReference(Editor editor) {
|
||||
PsiReference result = findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (result == null) {
|
||||
final Integer offset = editor.getUserData(EditorActionUtil.EXPECTED_CARET_OFFSET);
|
||||
if (offset != null) {
|
||||
result = findReference(editor, offset);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiReference findReference(@NotNull Editor editor, int offset) {
|
||||
Project project = editor.getProject();
|
||||
if (project == null) return null;
|
||||
|
||||
Document document = editor.getDocument();
|
||||
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(document);
|
||||
if (file == null) return null;
|
||||
if (ApplicationManager.getApplication().isDispatchThread()) {
|
||||
PsiDocumentManager.getInstance(project).commitAllDocuments();
|
||||
}
|
||||
|
||||
offset = adjustOffset(file, document, offset);
|
||||
|
||||
if (file instanceof PsiCompiledFile) {
|
||||
return ((PsiCompiledFile) file).getDecompiledPsiFile().findReferenceAt(offset);
|
||||
}
|
||||
|
||||
return file.findReferenceAt(offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated adjust offset with PsiElement should be used instead to provide correct checking for identifier part
|
||||
*/
|
||||
public static int adjustOffset(Document document, final int offset) {
|
||||
return adjustOffset(null, document, offset);
|
||||
}
|
||||
|
||||
public static int adjustOffset(@Nullable PsiFile file, Document document, final int offset) {
|
||||
CharSequence text = document.getCharsSequence();
|
||||
int correctedOffset = offset;
|
||||
int textLength = document.getTextLength();
|
||||
if (offset >= textLength) {
|
||||
correctedOffset = textLength - 1;
|
||||
}
|
||||
else if (!isIdentifierPart(file, text, offset)) {
|
||||
correctedOffset--;
|
||||
}
|
||||
if (correctedOffset < 0 || !isIdentifierPart(file, text, correctedOffset)) return offset;
|
||||
return correctedOffset;
|
||||
}
|
||||
|
||||
private static boolean isIdentifierPart(@Nullable PsiFile file, CharSequence text, int offset) {
|
||||
if (file != null) {
|
||||
TargetElementEvaluatorEx evaluator = getInstance().getElementEvaluatorsEx(file.getLanguage());
|
||||
if (evaluator != null && evaluator.isIdentifierPart(file, text, offset)) return true;
|
||||
}
|
||||
return Character.isJavaIdentifierPart(text.charAt(offset));
|
||||
}
|
||||
|
||||
public static boolean inVirtualSpace(@NotNull Editor editor, int offset) {
|
||||
if (offset == editor.getCaretModel().getOffset()) {
|
||||
return EditorUtil.inVirtualSpace(editor, editor.getCaretModel().getLogicalPosition());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiElement findTargetElement(Editor editor, int flags) {
|
||||
ApplicationManager.getApplication().assertIsDispatchThread();
|
||||
|
||||
final PsiElement result = getInstance().findTargetElement(editor, flags, editor.getCaretModel().getOffset());
|
||||
if (result != null) return result;
|
||||
|
||||
final Integer offset = editor.getUserData(EditorActionUtil.EXPECTED_CARET_OFFSET);
|
||||
if (offset != null) {
|
||||
return getInstance().findTargetElement(editor, flags, offset);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement findTargetElement(@NotNull Editor editor, int flags, int offset) {
|
||||
PsiElement result = doFindTargetElement(editor, flags, offset);
|
||||
TargetElementEvaluatorEx2 evaluator = result != null ? getElementEvaluatorsEx2(result.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
result = evaluator.adjustTargetElement(editor, offset, flags, result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PsiElement doFindTargetElement(@NotNull Editor editor, int flags, int offset) {
|
||||
Project project = editor.getProject();
|
||||
if (project == null) return null;
|
||||
|
||||
if ((flags & LOOKUP_ITEM_ACCEPTED) != 0) {
|
||||
PsiElement element = getTargetElementFromLookup(project);
|
||||
if (element != null) {
|
||||
return element;
|
||||
}
|
||||
}
|
||||
|
||||
Document document = editor.getDocument();
|
||||
if (ApplicationManager.getApplication().isDispatchThread()) {
|
||||
PsiDocumentManager.getInstance(project).commitAllDocuments();
|
||||
}
|
||||
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(document);
|
||||
if (file == null) return null;
|
||||
|
||||
offset = adjustOffset(file, document, offset);
|
||||
|
||||
PsiElement element = file.findElementAt(offset);
|
||||
if ((flags & REFERENCED_ELEMENT_ACCEPTED) != 0) {
|
||||
final PsiElement referenceOrReferencedElement = getReferenceOrReferencedElement(file, editor, flags, offset);
|
||||
//if (referenceOrReferencedElement == null) {
|
||||
// return getReferenceOrReferencedElement(file, editor, flags, offset);
|
||||
//}
|
||||
if (isAcceptableReferencedElement(element, referenceOrReferencedElement)) {
|
||||
return referenceOrReferencedElement;
|
||||
}
|
||||
}
|
||||
|
||||
if (element == null) return null;
|
||||
|
||||
if ((flags & ELEMENT_NAME_ACCEPTED) != 0) {
|
||||
if (element instanceof PsiNamedElement) return element;
|
||||
return getNamedElement(element, offset - element.getTextRange().getStartOffset());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static PsiElement getTargetElementFromLookup(Project project) {
|
||||
Lookup activeLookup = LookupManager.getInstance(project).getActiveLookup();
|
||||
if (activeLookup != null) {
|
||||
LookupElement item = activeLookup.getCurrentItem();
|
||||
if (item != null && item.isValid()) {
|
||||
final PsiElement psi = CompletionUtil.getTargetElement(item);
|
||||
if (psi != null && psi.isValid()) {
|
||||
return psi;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
protected boolean isAcceptableReferencedElement(@Nullable PsiElement element, @Nullable PsiElement referenceOrReferencedElement) {
|
||||
if (referenceOrReferencedElement == null || !referenceOrReferencedElement.isValid()) return false;
|
||||
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
ThreeState answer = evaluator.isAcceptableReferencedElement(element, referenceOrReferencedElement);
|
||||
if (answer == ThreeState.YES) return true;
|
||||
if (answer == ThreeState.NO) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement adjustElement(final Editor editor, final int flags, @Nullable PsiElement element, @Nullable PsiElement contextElement) {
|
||||
PsiElement langElement = element == null ? contextElement : element;
|
||||
TargetElementEvaluatorEx2 evaluator = langElement != null ? getElementEvaluatorsEx2(langElement.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
element = evaluator.adjustElement(editor, flags, element, contextElement);
|
||||
}
|
||||
return element;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement adjustReference(@NotNull PsiReference ref) {
|
||||
PsiElement element = ref.getElement();
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
return evaluator != null ? evaluator.adjustReference(ref) : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement getNamedElement(@Nullable final PsiElement element, final int offsetInElement) {
|
||||
if (element == null) return null;
|
||||
|
||||
final List<PomTarget> targets = ContainerUtil.newArrayList();
|
||||
final Consumer<PomTarget> consumer = new Consumer<PomTarget>() {
|
||||
@Override
|
||||
public void consume(PomTarget target) {
|
||||
if (target instanceof PsiDeclaredTarget) {
|
||||
final PsiDeclaredTarget declaredTarget = (PsiDeclaredTarget)target;
|
||||
final PsiElement navigationElement = declaredTarget.getNavigationElement();
|
||||
final TextRange range = declaredTarget.getNameIdentifierRange();
|
||||
if (range != null && !range.shiftRight(navigationElement.getTextRange().getStartOffset())
|
||||
.contains(element.getTextRange().getStartOffset() + offsetInElement)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
targets.add(target);
|
||||
}
|
||||
};
|
||||
|
||||
PsiElement parent = element;
|
||||
|
||||
int offset = offsetInElement;
|
||||
while (parent != null) {
|
||||
for (PomDeclarationSearcher searcher : PomDeclarationSearcher.EP_NAME.getExtensions()) {
|
||||
searcher.findDeclarationsAt(parent, offset, consumer);
|
||||
if (!targets.isEmpty()) {
|
||||
final PomTarget target = targets.get(0);
|
||||
return target == null ? null : PomService.convertToPsi(element.getProject(), target);
|
||||
}
|
||||
}
|
||||
offset += parent.getStartOffsetInParent();
|
||||
parent = parent.getParent();
|
||||
}
|
||||
|
||||
return getNamedElement(element);
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
private PsiElement getNamedElement(@Nullable final PsiElement element) {
|
||||
if (element == null) return null;
|
||||
|
||||
TargetElementEvaluatorEx2 evaluator = getElementEvaluatorsEx2(element.getLanguage());
|
||||
if (evaluator != null) {
|
||||
PsiElement result = evaluator.getNamedElement(element);
|
||||
if (result != null) return result;
|
||||
}
|
||||
|
||||
PsiElement parent;
|
||||
if ((parent = PsiTreeUtil.getParentOfType(element, PsiNamedElement.class, false)) != null) {
|
||||
boolean isInjected = parent instanceof PsiFile
|
||||
&& InjectedLanguageManager.getInstance(parent.getProject()).isInjectedFragment((PsiFile)parent);
|
||||
// A bit hacky depends on navigation offset correctly overridden
|
||||
if (!isInjected && parent.getTextOffset() == element.getTextRange().getStartOffset()) {
|
||||
if (evaluator == null || evaluator.isAcceptableNamedParent(parent)) {
|
||||
return parent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PsiElement getReferenceOrReferencedElement(PsiFile file, Editor editor, int flags, int offset) {
|
||||
PsiElement result = doGetReferenceOrReferencedElement(file, editor, flags, offset);
|
||||
PsiElement languageElement = file.findElementAt(offset);
|
||||
Language language = languageElement != null ? languageElement.getLanguage() : file.getLanguage();
|
||||
TargetElementEvaluatorEx2 evaluator = getElementEvaluatorsEx2(language);
|
||||
if (evaluator != null) {
|
||||
result = evaluator.adjustReferenceOrReferencedElement(file, editor, offset, flags, result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PsiElement doGetReferenceOrReferencedElement(PsiFile file, Editor editor, int flags, int offset) {
|
||||
PsiReference ref = findReference(editor, offset);
|
||||
if (ref == null) return null;
|
||||
|
||||
final Language language = ref.getElement().getLanguage();
|
||||
TargetElementEvaluator evaluator = targetElementEvaluator.forLanguage(language);
|
||||
if (evaluator != null) {
|
||||
final PsiElement element = evaluator.getElementByReference(ref, flags);
|
||||
if (element != null) return element;
|
||||
}
|
||||
|
||||
PsiManager manager = file.getManager();
|
||||
PsiElement refElement = ref.resolve();
|
||||
if (refElement == null) {
|
||||
if (ApplicationManager.getApplication().isDispatchThread()) {
|
||||
DaemonCodeAnalyzer.getInstance(manager.getProject()).updateVisibleHighlighters(editor);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return refElement;
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Collection<PsiElement> getTargetCandidates(@NotNull PsiReference reference) {
|
||||
PsiElement refElement = reference.getElement();
|
||||
TargetElementEvaluatorEx2 evaluator = refElement != null ? getElementEvaluatorsEx2(refElement.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
Collection<PsiElement> candidates = evaluator.getTargetCandidates(reference);
|
||||
if (candidates != null) return candidates;
|
||||
}
|
||||
|
||||
if (reference instanceof PsiPolyVariantReference) {
|
||||
final ResolveResult[] results = ((PsiPolyVariantReference)reference).multiResolve(false);
|
||||
List<PsiElement> navigatableResults = new ArrayList<PsiElement>(results.length);
|
||||
|
||||
for(ResolveResult r:results) {
|
||||
PsiElement element = r.getElement();
|
||||
if (EditSourceUtil.canNavigate(element) || element instanceof Navigatable && ((Navigatable)element).canNavigateToSource()) {
|
||||
navigatableResults.add(element);
|
||||
}
|
||||
}
|
||||
|
||||
return navigatableResults;
|
||||
}
|
||||
PsiElement resolved = reference.resolve();
|
||||
if (resolved instanceof NavigationItem) {
|
||||
return Collections.singleton(resolved);
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
public PsiElement getGotoDeclarationTarget(final PsiElement element, final PsiElement navElement) {
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
PsiElement result = evaluator.getGotoDeclarationTarget(element, navElement);
|
||||
if (result != null) return result;
|
||||
}
|
||||
return navElement;
|
||||
}
|
||||
|
||||
public boolean includeSelfInGotoImplementation(@NotNull final PsiElement element) {
|
||||
TargetElementEvaluator evaluator = targetElementEvaluator.forLanguage(element.getLanguage());
|
||||
return evaluator == null || evaluator.includeSelfInGotoImplementation(element);
|
||||
}
|
||||
|
||||
public boolean acceptImplementationForReference(@Nullable PsiReference reference, @Nullable PsiElement element) {
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
return evaluator == null || evaluator.acceptImplementationForReference(reference, element);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public SearchScope getSearchScope(Editor editor, @NotNull PsiElement element) {
|
||||
TargetElementEvaluatorEx2 evaluator = getElementEvaluatorsEx2(element.getLanguage());
|
||||
SearchScope result = evaluator != null ? evaluator.getSearchScope(editor, element) : null;
|
||||
return result != null ? result : PsiSearchHelper.SERVICE.getInstance(element.getProject()).getUseScope(element);
|
||||
}
|
||||
|
||||
protected final LanguageExtension<TargetElementEvaluator> targetElementEvaluator = new LanguageExtension<TargetElementEvaluator>("com.intellij.targetElementEvaluator");
|
||||
@Nullable
|
||||
private TargetElementEvaluatorEx getElementEvaluatorsEx(@NotNull Language language) {
|
||||
TargetElementEvaluator result = targetElementEvaluator.forLanguage(language);
|
||||
return result instanceof TargetElementEvaluatorEx ? (TargetElementEvaluatorEx)result : null;
|
||||
}
|
||||
@Nullable
|
||||
private TargetElementEvaluatorEx2 getElementEvaluatorsEx2(@NotNull Language language) {
|
||||
TargetElementEvaluator result = targetElementEvaluator.forLanguage(language);
|
||||
return result instanceof TargetElementEvaluatorEx2 ? (TargetElementEvaluatorEx2)result : null;
|
||||
}
|
||||
}
|
||||
@@ -13,437 +13,10 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* User: anna
|
||||
* Date: 30-Jan-2008
|
||||
*/
|
||||
package com.intellij.codeInsight;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionUtil;
|
||||
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
|
||||
import com.intellij.codeInsight.lookup.Lookup;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.ide.util.EditSourceUtil;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.LanguageExtension;
|
||||
import com.intellij.lang.injection.InjectedLanguageManager;
|
||||
import com.intellij.navigation.NavigationItem;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.actions.EditorActionUtil;
|
||||
import com.intellij.openapi.editor.ex.util.EditorUtil;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.pom.Navigatable;
|
||||
import com.intellij.pom.PomDeclarationSearcher;
|
||||
import com.intellij.pom.PomTarget;
|
||||
import com.intellij.pom.PsiDeclaredTarget;
|
||||
import com.intellij.pom.references.PomService;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.PsiSearchHelper;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class TargetElementUtilBase {
|
||||
public static final int REFERENCED_ELEMENT_ACCEPTED = 0x01;
|
||||
public static final int ELEMENT_NAME_ACCEPTED = 0x02;
|
||||
public static final int LOOKUP_ITEM_ACCEPTED = 0x08;
|
||||
|
||||
public static TargetElementUtilBase getInstance() {
|
||||
return ServiceManager.getService(TargetElementUtilBase.class);
|
||||
}
|
||||
|
||||
public int getAllAccepted() {
|
||||
int result = REFERENCED_ELEMENT_ACCEPTED | ELEMENT_NAME_ACCEPTED | LOOKUP_ITEM_ACCEPTED;
|
||||
for (TargetElementUtilExtender each : Extensions.getExtensions(TargetElementUtilExtender.EP_NAME)) {
|
||||
result |= each.getAdditionalAccepted();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accepts THIS or SUPER but not NEW_AS_CONSTRUCTOR.
|
||||
*/
|
||||
public int getDefinitionSearchFlags() {
|
||||
int result = getAllAccepted();
|
||||
for (TargetElementUtilExtender each : Extensions.getExtensions(TargetElementUtilExtender.EP_NAME)) {
|
||||
result |= each.getAdditionalDefinitionSearchFlags();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accepts NEW_AS_CONSTRUCTOR but not THIS or SUPER.
|
||||
*/
|
||||
public int getReferenceSearchFlags() {
|
||||
int result = getAllAccepted();
|
||||
for (TargetElementUtilExtender each : Extensions.getExtensions(TargetElementUtilExtender.EP_NAME)) {
|
||||
result |= each.getAdditionalReferenceSearchFlags();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiReference findReference(Editor editor) {
|
||||
PsiReference result = findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (result == null) {
|
||||
final Integer offset = editor.getUserData(EditorActionUtil.EXPECTED_CARET_OFFSET);
|
||||
if (offset != null) {
|
||||
result = findReference(editor, offset);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiReference findReference(@NotNull Editor editor, int offset) {
|
||||
Project project = editor.getProject();
|
||||
if (project == null) return null;
|
||||
|
||||
Document document = editor.getDocument();
|
||||
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(document);
|
||||
if (file == null) return null;
|
||||
if (ApplicationManager.getApplication().isDispatchThread()) {
|
||||
PsiDocumentManager.getInstance(project).commitAllDocuments();
|
||||
}
|
||||
|
||||
offset = adjustOffset(file, document, offset);
|
||||
|
||||
if (file instanceof PsiCompiledFile) {
|
||||
return ((PsiCompiledFile) file).getDecompiledPsiFile().findReferenceAt(offset);
|
||||
}
|
||||
|
||||
return file.findReferenceAt(offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated adjust offset with PsiElement should be used instead to provide correct checking for identifier part
|
||||
*/
|
||||
public static int adjustOffset(Document document, final int offset) {
|
||||
return adjustOffset(null, document, offset);
|
||||
}
|
||||
|
||||
public static int adjustOffset(@Nullable PsiFile file, Document document, final int offset) {
|
||||
CharSequence text = document.getCharsSequence();
|
||||
int correctedOffset = offset;
|
||||
int textLength = document.getTextLength();
|
||||
if (offset >= textLength) {
|
||||
correctedOffset = textLength - 1;
|
||||
}
|
||||
else if (!isIdentifierPart(file, text, offset)) {
|
||||
correctedOffset--;
|
||||
}
|
||||
if (correctedOffset < 0 || !isIdentifierPart(file, text, correctedOffset)) return offset;
|
||||
return correctedOffset;
|
||||
}
|
||||
|
||||
private static boolean isIdentifierPart(@Nullable PsiFile file, CharSequence text, int offset) {
|
||||
if (file != null) {
|
||||
TargetElementEvaluatorEx evaluator = getInstance().getElementEvaluatorsEx(file.getLanguage());
|
||||
if (evaluator != null && evaluator.isIdentifierPart(file, text, offset)) return true;
|
||||
}
|
||||
return Character.isJavaIdentifierPart(text.charAt(offset));
|
||||
}
|
||||
|
||||
public static boolean inVirtualSpace(@NotNull Editor editor, int offset) {
|
||||
if (offset == editor.getCaretModel().getOffset()) {
|
||||
return EditorUtil.inVirtualSpace(editor, editor.getCaretModel().getLogicalPosition());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiElement findTargetElement(Editor editor, int flags) {
|
||||
ApplicationManager.getApplication().assertIsDispatchThread();
|
||||
|
||||
final PsiElement result = getInstance().findTargetElement(editor, flags, editor.getCaretModel().getOffset());
|
||||
if (result != null) return result;
|
||||
|
||||
final Integer offset = editor.getUserData(EditorActionUtil.EXPECTED_CARET_OFFSET);
|
||||
if (offset != null) {
|
||||
return getInstance().findTargetElement(editor, flags, offset);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement findTargetElement(@NotNull Editor editor, int flags, int offset) {
|
||||
PsiElement result = doFindTargetElement(editor, flags, offset);
|
||||
TargetElementEvaluatorEx2 evaluator = result != null ? getElementEvaluatorsEx2(result.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
result = evaluator.adjustTargetElement(editor, offset, flags, result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PsiElement doFindTargetElement(@NotNull Editor editor, int flags, int offset) {
|
||||
Project project = editor.getProject();
|
||||
if (project == null) return null;
|
||||
|
||||
if ((flags & LOOKUP_ITEM_ACCEPTED) != 0) {
|
||||
PsiElement element = getTargetElementFromLookup(project);
|
||||
if (element != null) {
|
||||
return element;
|
||||
}
|
||||
}
|
||||
|
||||
Document document = editor.getDocument();
|
||||
if (ApplicationManager.getApplication().isDispatchThread()) {
|
||||
PsiDocumentManager.getInstance(project).commitAllDocuments();
|
||||
}
|
||||
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(document);
|
||||
if (file == null) return null;
|
||||
|
||||
offset = adjustOffset(file, document, offset);
|
||||
|
||||
PsiElement element = file.findElementAt(offset);
|
||||
if ((flags & REFERENCED_ELEMENT_ACCEPTED) != 0) {
|
||||
final PsiElement referenceOrReferencedElement = getReferenceOrReferencedElement(file, editor, flags, offset);
|
||||
//if (referenceOrReferencedElement == null) {
|
||||
// return getReferenceOrReferencedElement(file, editor, flags, offset);
|
||||
//}
|
||||
if (isAcceptableReferencedElement(element, referenceOrReferencedElement)) {
|
||||
return referenceOrReferencedElement;
|
||||
}
|
||||
}
|
||||
|
||||
if (element == null) return null;
|
||||
|
||||
if ((flags & ELEMENT_NAME_ACCEPTED) != 0) {
|
||||
if (element instanceof PsiNamedElement) return element;
|
||||
return getNamedElement(element, offset - element.getTextRange().getStartOffset());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static PsiElement getTargetElementFromLookup(Project project) {
|
||||
Lookup activeLookup = LookupManager.getInstance(project).getActiveLookup();
|
||||
if (activeLookup != null) {
|
||||
LookupElement item = activeLookup.getCurrentItem();
|
||||
if (item != null && item.isValid()) {
|
||||
final PsiElement psi = CompletionUtil.getTargetElement(item);
|
||||
if (psi != null && psi.isValid()) {
|
||||
return psi;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
protected boolean isAcceptableReferencedElement(@Nullable PsiElement element, @Nullable PsiElement referenceOrReferencedElement) {
|
||||
if (referenceOrReferencedElement == null || !referenceOrReferencedElement.isValid()) return false;
|
||||
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
ThreeState answer = evaluator.isAcceptableReferencedElement(element, referenceOrReferencedElement);
|
||||
if (answer == ThreeState.YES) return true;
|
||||
if (answer == ThreeState.NO) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement adjustElement(final Editor editor, final int flags, @Nullable PsiElement element, @Nullable PsiElement contextElement) {
|
||||
PsiElement langElement = element == null ? contextElement : element;
|
||||
TargetElementEvaluatorEx2 evaluator = langElement != null ? getElementEvaluatorsEx2(langElement.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
element = evaluator.adjustElement(editor, flags, element, contextElement);
|
||||
}
|
||||
return element;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement adjustReference(@NotNull PsiReference ref) {
|
||||
PsiElement element = ref.getElement();
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
return evaluator != null ? evaluator.adjustReference(ref) : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement getNamedElement(@Nullable final PsiElement element, final int offsetInElement) {
|
||||
if (element == null) return null;
|
||||
|
||||
final List<PomTarget> targets = ContainerUtil.newArrayList();
|
||||
final Consumer<PomTarget> consumer = new Consumer<PomTarget>() {
|
||||
@Override
|
||||
public void consume(PomTarget target) {
|
||||
if (target instanceof PsiDeclaredTarget) {
|
||||
final PsiDeclaredTarget declaredTarget = (PsiDeclaredTarget)target;
|
||||
final PsiElement navigationElement = declaredTarget.getNavigationElement();
|
||||
final TextRange range = declaredTarget.getNameIdentifierRange();
|
||||
if (range != null && !range.shiftRight(navigationElement.getTextRange().getStartOffset())
|
||||
.contains(element.getTextRange().getStartOffset() + offsetInElement)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
targets.add(target);
|
||||
}
|
||||
};
|
||||
|
||||
PsiElement parent = element;
|
||||
|
||||
int offset = offsetInElement;
|
||||
while (parent != null) {
|
||||
for (PomDeclarationSearcher searcher : PomDeclarationSearcher.EP_NAME.getExtensions()) {
|
||||
searcher.findDeclarationsAt(parent, offset, consumer);
|
||||
if (!targets.isEmpty()) {
|
||||
final PomTarget target = targets.get(0);
|
||||
return target == null ? null : PomService.convertToPsi(element.getProject(), target);
|
||||
}
|
||||
}
|
||||
offset += parent.getStartOffsetInParent();
|
||||
parent = parent.getParent();
|
||||
}
|
||||
|
||||
return getNamedElement(element);
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
private PsiElement getNamedElement(@Nullable final PsiElement element) {
|
||||
if (element == null) return null;
|
||||
|
||||
TargetElementEvaluatorEx2 evaluator = getElementEvaluatorsEx2(element.getLanguage());
|
||||
if (evaluator != null) {
|
||||
PsiElement result = evaluator.getNamedElement(element);
|
||||
if (result != null) return result;
|
||||
}
|
||||
|
||||
PsiElement parent;
|
||||
if ((parent = PsiTreeUtil.getParentOfType(element, PsiNamedElement.class, false)) != null) {
|
||||
boolean isInjected = parent instanceof PsiFile
|
||||
&& InjectedLanguageManager.getInstance(parent.getProject()).isInjectedFragment((PsiFile)parent);
|
||||
// A bit hacky depends on navigation offset correctly overridden
|
||||
if (!isInjected && parent.getTextOffset() == element.getTextRange().getStartOffset()) {
|
||||
if (evaluator == null || evaluator.isAcceptableNamedParent(parent)) {
|
||||
return parent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PsiElement getReferenceOrReferencedElement(PsiFile file, Editor editor, int flags, int offset) {
|
||||
PsiElement result = doGetReferenceOrReferencedElement(file, editor, flags, offset);
|
||||
PsiElement languageElement = file.findElementAt(offset);
|
||||
Language language = languageElement != null ? languageElement.getLanguage() : file.getLanguage();
|
||||
TargetElementEvaluatorEx2 evaluator = getElementEvaluatorsEx2(language);
|
||||
if (evaluator != null) {
|
||||
result = evaluator.adjustReferenceOrReferencedElement(file, editor, offset, flags, result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PsiElement doGetReferenceOrReferencedElement(PsiFile file, Editor editor, int flags, int offset) {
|
||||
PsiReference ref = findReference(editor, offset);
|
||||
if (ref == null) return null;
|
||||
|
||||
final Language language = ref.getElement().getLanguage();
|
||||
TargetElementEvaluator evaluator = targetElementEvaluator.forLanguage(language);
|
||||
if (evaluator != null) {
|
||||
final PsiElement element = evaluator.getElementByReference(ref, flags);
|
||||
if (element != null) return element;
|
||||
}
|
||||
|
||||
PsiManager manager = file.getManager();
|
||||
PsiElement refElement = ref.resolve();
|
||||
if (refElement == null) {
|
||||
if (ApplicationManager.getApplication().isDispatchThread()) {
|
||||
DaemonCodeAnalyzer.getInstance(manager.getProject()).updateVisibleHighlighters(editor);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return refElement;
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Collection<PsiElement> getTargetCandidates(@NotNull PsiReference reference) {
|
||||
PsiElement refElement = reference.getElement();
|
||||
TargetElementEvaluatorEx2 evaluator = refElement != null ? getElementEvaluatorsEx2(refElement.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
Collection<PsiElement> candidates = evaluator.getTargetCandidates(reference);
|
||||
if (candidates != null) return candidates;
|
||||
}
|
||||
|
||||
if (reference instanceof PsiPolyVariantReference) {
|
||||
final ResolveResult[] results = ((PsiPolyVariantReference)reference).multiResolve(false);
|
||||
List<PsiElement> navigatableResults = new ArrayList<PsiElement>(results.length);
|
||||
|
||||
for(ResolveResult r:results) {
|
||||
PsiElement element = r.getElement();
|
||||
if (EditSourceUtil.canNavigate(element) || element instanceof Navigatable && ((Navigatable)element).canNavigateToSource()) {
|
||||
navigatableResults.add(element);
|
||||
}
|
||||
}
|
||||
|
||||
return navigatableResults;
|
||||
}
|
||||
PsiElement resolved = reference.resolve();
|
||||
if (resolved instanceof NavigationItem) {
|
||||
return Collections.singleton(resolved);
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
public PsiElement getGotoDeclarationTarget(final PsiElement element, final PsiElement navElement) {
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
PsiElement result = evaluator.getGotoDeclarationTarget(element, navElement);
|
||||
if (result != null) return result;
|
||||
}
|
||||
return navElement;
|
||||
}
|
||||
|
||||
public boolean includeSelfInGotoImplementation(@NotNull final PsiElement element) {
|
||||
TargetElementEvaluator evaluator = targetElementEvaluator.forLanguage(element.getLanguage());
|
||||
return evaluator == null || evaluator.includeSelfInGotoImplementation(element);
|
||||
}
|
||||
|
||||
public boolean acceptImplementationForReference(@Nullable PsiReference reference, @Nullable PsiElement element) {
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
return evaluator == null || evaluator.acceptImplementationForReference(reference, element);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public SearchScope getSearchScope(Editor editor, @NotNull PsiElement element) {
|
||||
TargetElementEvaluatorEx2 evaluator = getElementEvaluatorsEx2(element.getLanguage());
|
||||
SearchScope result = evaluator != null ? evaluator.getSearchScope(editor, element) : null;
|
||||
return result != null ? result : PsiSearchHelper.SERVICE.getInstance(element.getProject()).getUseScope(element);
|
||||
}
|
||||
|
||||
protected final LanguageExtension<TargetElementEvaluator> targetElementEvaluator = new LanguageExtension<TargetElementEvaluator>("com.intellij.targetElementEvaluator");
|
||||
@Nullable
|
||||
private TargetElementEvaluatorEx getElementEvaluatorsEx(@NotNull Language language) {
|
||||
TargetElementEvaluator result = targetElementEvaluator.forLanguage(language);
|
||||
return result instanceof TargetElementEvaluatorEx ? (TargetElementEvaluatorEx)result : null;
|
||||
}
|
||||
@Nullable
|
||||
private TargetElementEvaluatorEx2 getElementEvaluatorsEx2(@NotNull Language language) {
|
||||
TargetElementEvaluator result = targetElementEvaluator.forLanguage(language);
|
||||
return result instanceof TargetElementEvaluatorEx2 ? (TargetElementEvaluatorEx2)result : null;
|
||||
}
|
||||
/**
|
||||
* @deprecated Use {@link TargetElementUtil} instead. To be removed in IntelliJ IDEA 16.
|
||||
*/
|
||||
public final class TargetElementUtilBase extends TargetElementUtil {
|
||||
}
|
||||
|
||||
@@ -17,12 +17,24 @@ package com.intellij.codeInsight;
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
|
||||
/**
|
||||
* Extends {@link TargetElementUtil} class with extra 'search-for' flags
|
||||
*/
|
||||
public interface TargetElementUtilExtender {
|
||||
ExtensionPointName<TargetElementUtilExtender> EP_NAME = ExtensionPointName.create("com.intellij.targetElementUtilExtender");
|
||||
|
||||
int getAdditionalAccepted();
|
||||
/**
|
||||
* @return all extended flags regardless of what is being searched (implementations or usages)
|
||||
*/
|
||||
int getAllAdditionalFlags();
|
||||
|
||||
/**
|
||||
* @return extended flags used only when searching for implementations
|
||||
*/
|
||||
int getAdditionalDefinitionSearchFlags();
|
||||
|
||||
/**
|
||||
* @return extended flags used only when searching for usages
|
||||
*/
|
||||
int getAdditionalReferenceSearchFlags();
|
||||
}
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.completion.impl.CompletionServiceImpl;
|
||||
import com.intellij.codeInsight.completion.impl.CompletionSorterImpl;
|
||||
import com.intellij.codeInsight.editorActions.CompletionAutoPopupHandler;
|
||||
@@ -227,7 +227,7 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement
|
||||
if (!initContext.getOffsetMap().wasModified(CompletionInitializationContext.IDENTIFIER_END_OFFSET)) {
|
||||
try {
|
||||
final int selectionEndOffset = initContext.getSelectionEndOffset();
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(myEditor, selectionEndOffset);
|
||||
final PsiReference reference = TargetElementUtil.findReference(myEditor, selectionEndOffset);
|
||||
if (reference != null) {
|
||||
initContext.setReplacementOffset(findReplacementOffset(selectionEndOffset, reference));
|
||||
}
|
||||
|
||||
+6
-6
@@ -17,7 +17,7 @@
|
||||
package com.intellij.codeInsight.daemon.impl;
|
||||
|
||||
import com.intellij.codeHighlighting.TextEditorHighlightingPass;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.highlighting.HighlightHandlerBase;
|
||||
import com.intellij.codeInsight.highlighting.HighlightUsagesHandler;
|
||||
import com.intellij.codeInsight.highlighting.HighlightUsagesHandlerBase;
|
||||
@@ -85,10 +85,10 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass {
|
||||
return;
|
||||
}
|
||||
|
||||
int flags = TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED;
|
||||
int flags = TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED;
|
||||
PsiElement myTarget;
|
||||
try {
|
||||
myTarget = TargetElementUtilBase.getInstance().findTargetElement(myEditor, flags, myCaretOffset);
|
||||
myTarget = TargetElementUtil.getInstance().findTargetElement(myEditor, flags, myCaretOffset);
|
||||
}
|
||||
catch (IndexNotReadyException e) {
|
||||
return;
|
||||
@@ -98,14 +98,14 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass {
|
||||
if (!PsiDocumentManager.getInstance(myProject).isUncommited(myEditor.getDocument())) {
|
||||
// when document is committed, try to check injected stuff - it's fast
|
||||
Editor injectedEditor = InjectedLanguageUtil.getEditorForInjectedLanguageNoCommit(myEditor, myFile, myCaretOffset);
|
||||
myTarget = TargetElementUtilBase.getInstance().findTargetElement(injectedEditor, flags, injectedEditor.getCaretModel().getOffset());
|
||||
myTarget = TargetElementUtil.getInstance().findTargetElement(injectedEditor, flags, injectedEditor.getCaretModel().getOffset());
|
||||
}
|
||||
}
|
||||
|
||||
if (myTarget != null) {
|
||||
highlightTargetUsages(myTarget);
|
||||
} else {
|
||||
PsiReference ref = TargetElementUtilBase.findReference(myEditor);
|
||||
PsiReference ref = TargetElementUtil.findReference(myEditor);
|
||||
if (ref instanceof PsiPolyVariantReference) {
|
||||
ResolveResult[] results = ((PsiPolyVariantReference)ref).multiResolve(false);
|
||||
if (results.length > 0) {
|
||||
@@ -171,7 +171,7 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass {
|
||||
|
||||
@Override
|
||||
public void doApplyInformationToEditor() {
|
||||
final boolean virtSpace = TargetElementUtilBase.inVirtualSpace(myEditor, myEditor.getCaretModel().getOffset());
|
||||
final boolean virtSpace = TargetElementUtil.inVirtualSpace(myEditor, myEditor.getCaretModel().getOffset());
|
||||
final List<HighlightInfo> infos = virtSpace ? Collections.<HighlightInfo>emptyList() : getHighlights();
|
||||
UpdateHighlightersUtil.setHighlightersToEditor(myProject, myDocument, 0, myFile.getTextLength(), infos, getColorsScheme(), getId());
|
||||
}
|
||||
|
||||
+9
-9
@@ -17,7 +17,7 @@
|
||||
package com.intellij.codeInsight.documentation;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.hint.HintManagerImpl;
|
||||
import com.intellij.codeInsight.hint.ParameterInfoController;
|
||||
import com.intellij.codeInsight.lookup.Lookup;
|
||||
@@ -98,7 +98,7 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
|
||||
private final ActionManagerEx myActionManagerEx;
|
||||
|
||||
private final TargetElementUtilBase myTargetElementUtilBase;
|
||||
private final TargetElementUtil myTargetElementUtil;
|
||||
|
||||
private boolean myCloseOnSneeze;
|
||||
|
||||
@@ -160,7 +160,7 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
return ServiceManager.getService(project, DocumentationManager.class);
|
||||
}
|
||||
|
||||
public DocumentationManager(final Project project, ActionManagerEx managerEx, TargetElementUtilBase targetElementUtilBase) {
|
||||
public DocumentationManager(final Project project, ActionManagerEx managerEx, TargetElementUtil targetElementUtil) {
|
||||
super(project);
|
||||
myActionManagerEx = managerEx;
|
||||
final AnActionListener actionListener = new AnActionListener() {
|
||||
@@ -199,7 +199,7 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
};
|
||||
myActionManagerEx.addAnActionListener(actionListener, project);
|
||||
myUpdateDocAlarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD,myProject);
|
||||
myTargetElementUtilBase = targetElementUtilBase;
|
||||
myTargetElementUtil = targetElementUtil;
|
||||
}
|
||||
|
||||
private void closeDocHint() {
|
||||
@@ -569,7 +569,7 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
*/
|
||||
@Nullable
|
||||
private PsiElement findTargetElementUnsafe(final Editor editor, int offset, @Nullable final PsiFile file, PsiElement contextElement) {
|
||||
TargetElementUtilBase util = TargetElementUtilBase.getInstance();
|
||||
TargetElementUtil util = TargetElementUtil.getInstance();
|
||||
PsiElement element = assertSameProject(getElementFromLookup(editor, file));
|
||||
if (element == null && file != null) {
|
||||
final DocumentationProvider documentationProvider = getProviderFromElement(file);
|
||||
@@ -579,11 +579,11 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
}
|
||||
|
||||
if (element == null) {
|
||||
element = assertSameProject(util.findTargetElement(editor, myTargetElementUtilBase.getAllAccepted(), offset));
|
||||
element = assertSameProject(util.findTargetElement(editor, myTargetElementUtil.getAllAccepted(), offset));
|
||||
|
||||
// Allow context doc over xml tag content
|
||||
if (element != null || contextElement != null) {
|
||||
final PsiElement adjusted = assertSameProject(util.adjustElement(editor, myTargetElementUtilBase.getAllAccepted(), element, contextElement));
|
||||
final PsiElement adjusted = assertSameProject(util.adjustElement(editor, myTargetElementUtil.getAllAccepted(), element, contextElement));
|
||||
if (adjusted != null) {
|
||||
element = adjusted;
|
||||
}
|
||||
@@ -591,7 +591,7 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
}
|
||||
|
||||
if (element == null) {
|
||||
final PsiReference ref = TargetElementUtilBase.findReference(editor, offset);
|
||||
final PsiReference ref = TargetElementUtil.findReference(editor, offset);
|
||||
if (ref != null) {
|
||||
element = assertSameProject(util.adjustReference(ref));
|
||||
if (ref instanceof PsiPolyVariantReference) {
|
||||
@@ -617,7 +617,7 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
|
||||
int offset = editor.getCaretModel().getOffset();
|
||||
if (offset > 0 && offset == editor.getDocument().getTextLength()) offset--;
|
||||
PsiReference ref = TargetElementUtilBase.findReference(editor, offset);
|
||||
PsiReference ref = TargetElementUtil.findReference(editor, offset);
|
||||
PsiElement contextElement = file == null? null : file.findElementAt(offset);
|
||||
PsiElement targetElement = ref != null ? ref.getElement() : contextElement;
|
||||
if (targetElement != null) {
|
||||
|
||||
+4
-4
@@ -17,7 +17,7 @@
|
||||
package com.intellij.codeInsight.highlighting;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.daemon.impl.IdentifierUtil;
|
||||
import com.intellij.featureStatistics.FeatureUsageTracker;
|
||||
import com.intellij.find.EditorSearchComponent;
|
||||
@@ -120,7 +120,7 @@ public class HighlightUsagesHandler extends HighlightHandlerBase {
|
||||
}
|
||||
|
||||
if (usageTargets == null) {
|
||||
PsiReference ref = TargetElementUtilBase.findReference(editor);
|
||||
PsiReference ref = TargetElementUtil.findReference(editor);
|
||||
|
||||
if (ref instanceof PsiPolyVariantReference) {
|
||||
ResolveResult[] results = ((PsiPolyVariantReference)ref).multiResolve(false);
|
||||
@@ -170,10 +170,10 @@ public class HighlightUsagesHandler extends HighlightHandlerBase {
|
||||
|
||||
@Nullable
|
||||
private static PsiElement getTargetElement(Editor editor, PsiFile file) {
|
||||
PsiElement target = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.getInstance().getReferenceSearchFlags());
|
||||
PsiElement target = TargetElementUtil.findTargetElement(editor, TargetElementUtil.getInstance().getReferenceSearchFlags());
|
||||
|
||||
if (target == null) {
|
||||
int offset = TargetElementUtilBase.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
int offset = TargetElementUtil.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
PsiElement element = file.findElementAt(offset);
|
||||
if (element == null) return null;
|
||||
}
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.highlighting;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -29,7 +29,7 @@ public abstract class HighlightUsagesHandlerFactoryBase implements HighlightUsag
|
||||
@Nullable
|
||||
@Override
|
||||
public final HighlightUsagesHandlerBase createHighlightUsagesHandler(Editor editor, PsiFile file) {
|
||||
int offset = TargetElementUtilBase.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
int offset = TargetElementUtil.adjustOffset(file, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
PsiElement target = file.findElementAt(offset);
|
||||
if (target == null) return null;
|
||||
return createHighlightUsagesHandler(editor, file, target);
|
||||
|
||||
+5
-5
@@ -16,7 +16,7 @@
|
||||
package com.intellij.codeInsight.hint.actions;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.documentation.DocumentationManager;
|
||||
import com.intellij.codeInsight.hint.ImplementationViewComponent;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
@@ -142,9 +142,9 @@ public class ShowImplementationsAction extends AnAction implements PopupAction {
|
||||
|
||||
PsiReference ref = null;
|
||||
if (editor != null) {
|
||||
ref = TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset());
|
||||
ref = TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (element == null && ref != null) {
|
||||
element = TargetElementUtilBase.getInstance().adjustReference(ref);
|
||||
element = TargetElementUtil.getInstance().adjustReference(ref);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,9 +187,9 @@ public class ShowImplementationsAction extends AnAction implements PopupAction {
|
||||
|
||||
protected static PsiElement getElement(Project project, PsiFile file, Editor editor, PsiElement element) {
|
||||
if (element == null && editor != null) {
|
||||
element = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.getInstance().getAllAccepted());
|
||||
element = TargetElementUtil.findTargetElement(editor, TargetElementUtil.getInstance().getAllAccepted());
|
||||
final PsiElement adjustedElement =
|
||||
TargetElementUtilBase.getInstance().adjustElement(editor, TargetElementUtilBase.getInstance().getAllAccepted(), element, null);
|
||||
TargetElementUtil.getInstance().adjustElement(editor, TargetElementUtil.getInstance().getAllAccepted(), element, null);
|
||||
if (adjustedElement != null) {
|
||||
element = adjustedElement;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package com.intellij.codeInsight.navigation;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.documentation.DocumentationManager;
|
||||
import com.intellij.codeInsight.documentation.DocumentationManagerProtocol;
|
||||
import com.intellij.codeInsight.hint.HintManager;
|
||||
@@ -490,12 +490,12 @@ public class CtrlMouseHandler extends AbstractProjectComponent {
|
||||
}
|
||||
}
|
||||
else if (browseMode == BrowseMode.Declaration) {
|
||||
final PsiReference ref = TargetElementUtilBase.findReference(editor, offset);
|
||||
final PsiReference ref = TargetElementUtil.findReference(editor, offset);
|
||||
final List<PsiElement> resolvedElements = ref == null ? Collections.<PsiElement>emptyList() : resolve(ref);
|
||||
final PsiElement resolvedElement = resolvedElements.size() == 1 ? resolvedElements.get(0) : null;
|
||||
|
||||
final PsiElement[] targetElements = GotoDeclarationAction.findTargetElementsNoVS(myProject, editor, offset, false);
|
||||
final PsiElement elementAtPointer = file.findElementAt(TargetElementUtilBase.adjustOffset(file, editor.getDocument(), offset));
|
||||
final PsiElement elementAtPointer = file.findElementAt(TargetElementUtil.adjustOffset(file, editor.getDocument(), offset));
|
||||
|
||||
if (targetElements != null) {
|
||||
if (targetElements.length == 0) {
|
||||
@@ -519,7 +519,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent {
|
||||
}
|
||||
}
|
||||
else if (browseMode == BrowseMode.Implementation) {
|
||||
final PsiElement element = TargetElementUtilBase.getInstance().findTargetElement(editor, ImplementationSearcher.getFlags(), offset);
|
||||
final PsiElement element = TargetElementUtil.getInstance().findTargetElement(editor, ImplementationSearcher.getFlags(), offset);
|
||||
PsiElement[] targetElements = new ImplementationSearcher() {
|
||||
@Override
|
||||
@NotNull
|
||||
|
||||
+5
-5
@@ -17,7 +17,7 @@
|
||||
package com.intellij.codeInsight.navigation;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.ide.util.PsiElementListCellRenderer;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -46,11 +46,11 @@ public class GotoImplementationHandler extends GotoTargetHandler {
|
||||
@Nullable
|
||||
public GotoData getSourceAndTargetElements(@NotNull Editor editor, PsiFile file) {
|
||||
int offset = editor.getCaretModel().getOffset();
|
||||
PsiElement source = TargetElementUtilBase.getInstance().findTargetElement(editor, ImplementationSearcher.getFlags(), offset);
|
||||
PsiElement source = TargetElementUtil.getInstance().findTargetElement(editor, ImplementationSearcher.getFlags(), offset);
|
||||
if (source == null) return null;
|
||||
final GotoData gotoData;
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor, offset);
|
||||
final TargetElementUtilBase instance = TargetElementUtilBase.getInstance();
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor, offset);
|
||||
final TargetElementUtil instance = TargetElementUtil.getInstance();
|
||||
if (!ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
gotoData = new GotoData(source, new ImplementationSearcher.FirstImplementationsSearcher(){
|
||||
@Override
|
||||
@@ -128,7 +128,7 @@ public class GotoImplementationHandler extends GotoTargetHandler {
|
||||
@Override
|
||||
protected void processElement(PsiElement element) {
|
||||
indicator.checkCanceled();
|
||||
if (!TargetElementUtilBase.getInstance().acceptImplementationForReference(myReference, element)) return;
|
||||
if (!TargetElementUtil.getInstance().acceptImplementationForReference(myReference, element)) return;
|
||||
if (myGotoData.addTarget(element)) {
|
||||
if (!updateComponent(element, createComparator(renderers, myGotoData))) {
|
||||
indicator.cancel();
|
||||
|
||||
+6
-6
@@ -17,12 +17,12 @@
|
||||
package com.intellij.codeInsight.navigation;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.IndexNotReadyException;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.IndexNotReadyException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
@@ -42,11 +42,11 @@ public class ImplementationSearcher {
|
||||
|
||||
@NotNull
|
||||
public PsiElement[] searchImplementations(final Editor editor, final PsiElement element, final int offset) {
|
||||
final TargetElementUtilBase targetElementUtil = TargetElementUtilBase.getInstance();
|
||||
final TargetElementUtil targetElementUtil = TargetElementUtil.getInstance();
|
||||
boolean onRef = ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
|
||||
@Override
|
||||
public Boolean compute() {
|
||||
return targetElementUtil.findTargetElement(editor, getFlags() & ~(TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED), offset) == null;
|
||||
return targetElementUtil.findTargetElement(editor, getFlags() & ~(TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtil.LOOKUP_ITEM_ACCEPTED), offset) == null;
|
||||
}
|
||||
});
|
||||
return searchImplementations(element, editor, offset, onRef && ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
|
||||
@@ -93,7 +93,7 @@ public class ImplementationSearcher {
|
||||
return ApplicationManager.getApplication().runReadAction(new Computable<SearchScope>() {
|
||||
@Override
|
||||
public SearchScope compute() {
|
||||
return TargetElementUtilBase.getInstance().getSearchScope(editor, element);
|
||||
return TargetElementUtil.getInstance().getSearchScope(editor, element);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -133,7 +133,7 @@ public class ImplementationSearcher {
|
||||
}
|
||||
|
||||
public static int getFlags() {
|
||||
return TargetElementUtilBase.getInstance().getDefinitionSearchFlags();
|
||||
return TargetElementUtil.getInstance().getDefinitionSearchFlags();
|
||||
}
|
||||
|
||||
public static class FirstImplementationsSearcher extends ImplementationSearcher {
|
||||
|
||||
+12
-12
@@ -17,7 +17,7 @@ package com.intellij.codeInsight.navigation.actions;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightActionHandler;
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.actions.BaseCodeInsightAction;
|
||||
import com.intellij.codeInsight.hint.HintManager;
|
||||
import com.intellij.codeInsight.navigation.NavigationUtil;
|
||||
@@ -83,7 +83,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
FeatureUsageTracker.getInstance().triggerFeatureUsed("navigation.goto.declaration");
|
||||
|
||||
if (elements.length != 1) {
|
||||
if (elements.length == 0 && suggestCandidates(TargetElementUtilBase.findReference(editor, offset)).isEmpty()) {
|
||||
if (elements.length == 0 && suggestCandidates(TargetElementUtil.findReference(editor, offset)).isEmpty()) {
|
||||
PsiElement element = findElementToShowUsagesOf(editor, editor.getCaretModel().getOffset());
|
||||
if (element != null) {
|
||||
ShowUsagesAction showUsages = (ShowUsagesAction)ActionManager.getInstance().getAction(ShowUsagesAction.ID);
|
||||
@@ -98,7 +98,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
|
||||
PsiElement element = elements[0];
|
||||
PsiElement navElement = element.getNavigationElement();
|
||||
navElement = TargetElementUtilBase.getInstance().getGotoDeclarationTarget(element, navElement);
|
||||
navElement = TargetElementUtil.getInstance().getGotoDeclarationTarget(element, navElement);
|
||||
if (navElement != null) {
|
||||
gotoTargetElement(navElement);
|
||||
}
|
||||
@@ -112,7 +112,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
}
|
||||
|
||||
public static PsiNameIdentifierOwner findElementToShowUsagesOf(@NotNull Editor editor, int offset) {
|
||||
PsiElement elementAt = TargetElementUtilBase.getInstance().findTargetElement(editor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED, offset);
|
||||
PsiElement elementAt = TargetElementUtil.getInstance().findTargetElement(editor, TargetElementUtil.ELEMENT_NAME_ACCEPTED, offset);
|
||||
if (elementAt instanceof PsiNameIdentifierOwner) {
|
||||
return (PsiNameIdentifierOwner)elementAt;
|
||||
}
|
||||
@@ -147,11 +147,11 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
@NotNull PsiElementProcessor<PsiElement> processor,
|
||||
@NotNull String titlePattern,
|
||||
@Nullable PsiElement[] elements) {
|
||||
if (TargetElementUtilBase.inVirtualSpace(editor, offset)) {
|
||||
if (TargetElementUtil.inVirtualSpace(editor, offset)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor, offset);
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor, offset);
|
||||
|
||||
if (elements == null || elements.length == 0) {
|
||||
final Collection<PsiElement> candidates = suggestCandidates(reference);
|
||||
@@ -189,7 +189,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
if (reference == null) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return TargetElementUtilBase.getInstance().getTargetCandidates(reference);
|
||||
return TargetElementUtil.getInstance().getTargetCandidates(reference);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -205,7 +205,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
|
||||
@NotNull
|
||||
public static PsiElement[] findAllTargetElements(Project project, Editor editor, int offset) {
|
||||
if (TargetElementUtilBase.inVirtualSpace(editor, offset)) {
|
||||
if (TargetElementUtil.inVirtualSpace(editor, offset)) {
|
||||
return PsiElement.EMPTY_ARRAY;
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
if (mirror instanceof PsiFile) file = (PsiFile)mirror;
|
||||
}
|
||||
|
||||
PsiElement elementAt = file.findElementAt(TargetElementUtilBase.adjustOffset(file, document, offset));
|
||||
PsiElement elementAt = file.findElementAt(TargetElementUtil.adjustOffset(file, document, offset));
|
||||
for (GotoDeclarationHandler handler : Extensions.getExtensions(GotoDeclarationHandler.EP_NAME)) {
|
||||
try {
|
||||
PsiElement[] result = handler.getGotoDeclarationTargets(elementAt, offset, editor);
|
||||
@@ -243,11 +243,11 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
}
|
||||
}
|
||||
|
||||
int flags = TargetElementUtilBase.getInstance().getAllAccepted() & ~TargetElementUtilBase.ELEMENT_NAME_ACCEPTED;
|
||||
int flags = TargetElementUtil.getInstance().getAllAccepted() & ~TargetElementUtil.ELEMENT_NAME_ACCEPTED;
|
||||
if (!lookupAccepted) {
|
||||
flags &= ~TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED;
|
||||
flags &= ~TargetElementUtil.LOOKUP_ITEM_ACCEPTED;
|
||||
}
|
||||
PsiElement element = TargetElementUtilBase.getInstance().findTargetElement(editor, flags, offset);
|
||||
PsiElement element = TargetElementUtil.getInstance().findTargetElement(editor, flags, offset);
|
||||
if (element != null) {
|
||||
return new PsiElement[]{element};
|
||||
}
|
||||
|
||||
+6
-6
@@ -18,7 +18,7 @@ package com.intellij.codeInsight.navigation.actions;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightActionHandler;
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.actions.BaseCodeInsightAction;
|
||||
import com.intellij.codeInsight.navigation.NavigationUtil;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
@@ -110,10 +110,10 @@ public class GotoTypeDeclarationAction extends BaseCodeInsightAction implements
|
||||
|
||||
@Nullable
|
||||
public static PsiElement[] findSymbolTypes(@NotNull Editor editor, int offset) {
|
||||
PsiElement targetElement = TargetElementUtilBase.getInstance().findTargetElement(editor,
|
||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtilBase.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED,
|
||||
PsiElement targetElement = TargetElementUtil.getInstance().findTargetElement(editor,
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtil.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.LOOKUP_ITEM_ACCEPTED,
|
||||
offset);
|
||||
|
||||
if (targetElement != null) {
|
||||
@@ -121,7 +121,7 @@ public class GotoTypeDeclarationAction extends BaseCodeInsightAction implements
|
||||
return symbolType == null ? PsiElement.EMPTY_ARRAY : symbolType;
|
||||
}
|
||||
|
||||
final PsiReference psiReference = TargetElementUtilBase.findReference(editor, offset);
|
||||
final PsiReference psiReference = TargetElementUtil.findReference(editor, offset);
|
||||
if (psiReference instanceof PsiPolyVariantReference) {
|
||||
final ResolveResult[] results = ((PsiPolyVariantReference)psiReference).multiResolve(false);
|
||||
Set<PsiElement> types = new THashSet<PsiElement>();
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.ide.actions;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.daemon.impl.IdentifierUtil;
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager;
|
||||
import com.intellij.ide.IdeBundle;
|
||||
@@ -121,7 +121,7 @@ public class CopyReferenceAction extends DumbAwareAction {
|
||||
if (nameIdentifier != null) {
|
||||
highlightManager.addOccurrenceHighlights(editor, new PsiElement[]{nameIdentifier}, attributes, true, null);
|
||||
} else {
|
||||
PsiReference reference = TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset());
|
||||
PsiReference reference = TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (reference != null) {
|
||||
highlightManager.addOccurrenceHighlights(editor, new PsiReference[]{reference}, attributes, true, null);
|
||||
} else if (element != PsiDocumentManager.getInstance(project).getCachedPsiFile(editor.getDocument())) {
|
||||
@@ -135,7 +135,7 @@ public class CopyReferenceAction extends DumbAwareAction {
|
||||
private static List<PsiElement> getElementsToCopy(@Nullable final Editor editor, final DataContext dataContext) {
|
||||
List<PsiElement> elements = ContainerUtil.newArrayList();
|
||||
if (editor != null) {
|
||||
PsiReference reference = TargetElementUtilBase.findReference(editor);
|
||||
PsiReference reference = TargetElementUtil.findReference(editor);
|
||||
if (reference != null) {
|
||||
ContainerUtil.addIfNotNull(elements, reference.getElement());
|
||||
}
|
||||
@@ -241,7 +241,7 @@ public class CopyReferenceAction extends DumbAwareAction {
|
||||
if (result != null) return result;
|
||||
|
||||
if (editor != null) { //IDEA-70346
|
||||
PsiReference reference = TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset());
|
||||
PsiReference reference = TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (reference != null) {
|
||||
result = getQualifiedNameFromProviders(reference.resolve());
|
||||
if (result != null) return result;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.intellij.ide.actions;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.documentation.DocumentationManager;
|
||||
import com.intellij.ide.BrowserUtil;
|
||||
import com.intellij.ide.DataManager;
|
||||
@@ -147,7 +147,7 @@ public class ExternalJavaDocAction extends AnAction {
|
||||
private static PsiElement getElement(DataContext dataContext, Editor editor) {
|
||||
PsiElement element = CommonDataKeys.PSI_ELEMENT.getData(dataContext);
|
||||
if (element == null && editor != null) {
|
||||
PsiReference reference = TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset());
|
||||
PsiReference reference = TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (reference != null) {
|
||||
element = reference.getElement();
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.intellij.ide.actions;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.ide.FileEditorProvider;
|
||||
import com.intellij.ide.SelectInContext;
|
||||
import com.intellij.ide.structureView.StructureView;
|
||||
@@ -207,7 +207,7 @@ public abstract class SelectInContextImpl implements SelectInContext {
|
||||
return super.getSelectorInFile();
|
||||
}
|
||||
Editor editor = myEditor.getEditor();
|
||||
int offset = TargetElementUtilBase.adjustOffset(myPsiFile, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
int offset = TargetElementUtil.adjustOffset(myPsiFile, editor.getDocument(), editor.getCaretModel().getOffset());
|
||||
PsiElement element = myPsiFile.findElementAt(offset);
|
||||
return element != null ? element : super.getSelectorInFile();
|
||||
}
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.intellij.openapi.fileEditor.impl.text;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.ide.IdeView;
|
||||
import com.intellij.ide.util.EditorHelper;
|
||||
import com.intellij.injected.editor.EditorWindow;
|
||||
@@ -189,7 +189,7 @@ public class TextEditorPsiDataProvider implements EditorDataProvider {
|
||||
if (psiFile == null) return null;
|
||||
|
||||
try {
|
||||
TargetElementUtilBase util = TargetElementUtilBase.getInstance();
|
||||
TargetElementUtil util = TargetElementUtil.getInstance();
|
||||
return util.findTargetElement(editor, util.getReferenceSearchFlags(), caret.getOffset());
|
||||
}
|
||||
catch (IndexNotReadyException e) {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.refactoring.InlineHandler;
|
||||
import com.intellij.lang.refactoring.InlineHandlers;
|
||||
@@ -53,7 +53,7 @@ public class GenericInlineHandler {
|
||||
private static final Logger LOG = Logger.getInstance(GenericInlineHandler.class);
|
||||
|
||||
public static boolean invoke(final PsiElement element, @Nullable Editor editor, final InlineHandler languageSpecific) {
|
||||
final PsiReference invocationReference = editor != null ? TargetElementUtilBase.findReference(editor) : null;
|
||||
final PsiReference invocationReference = editor != null ? TargetElementUtil.findReference(editor) : null;
|
||||
final InlineHandler.Settings settings = languageSpecific.prepareInlineElement(element, editor, invocationReference != null);
|
||||
if (settings == null || settings == InlineHandler.Settings.CANNOT_INLINE_SETTINGS) {
|
||||
return settings != null;
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
package com.intellij.refactoring.rename;
|
||||
|
||||
import com.intellij.refactoring.util.NonCodeUsageInfo;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.usageView.UsageInfoFactory;
|
||||
import com.intellij.refactoring.util.NonCodeUsageInfo;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.usageView.UsageInfoFactory;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -36,7 +36,7 @@ public class NonCodeUsageInfoFactory implements UsageInfoFactory {
|
||||
@Override
|
||||
@Nullable
|
||||
public UsageInfo createUsageInfo(@NotNull PsiElement usage, int startOffset, int endOffset) {
|
||||
final PsiElement namedElement = TargetElementUtilBase.getInstance().getNamedElement(usage, startOffset);
|
||||
final PsiElement namedElement = TargetElementUtil.getInstance().getNamedElement(usage, startOffset);
|
||||
if (namedElement != null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring.rename.inplace;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.findUsages.DescriptiveNameUtil;
|
||||
import com.intellij.lang.injection.InjectedLanguageManager;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
@@ -108,7 +108,7 @@ public class MemberInplaceRenamer extends VariableInplaceRenamer {
|
||||
}
|
||||
if (currentFile != null) {
|
||||
int offset = myEditor.getCaretModel().getOffset();
|
||||
offset = TargetElementUtilBase.adjustOffset(currentFile, myEditor.getDocument(), offset);
|
||||
offset = TargetElementUtil.adjustOffset(currentFile, myEditor.getDocument(), offset);
|
||||
final PsiElement elementAt = currentFile.findElementAt(offset);
|
||||
if (elementAt != null) {
|
||||
final PsiElement referenceExpression = elementAt.getParent();
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
serviceImplementation="com.intellij.packageDependencies.DependenciesVisitorFactory"/>
|
||||
<applicationService serviceInterface="com.intellij.openapi.projectRoots.ProjectJdkTable"
|
||||
serviceImplementation="com.intellij.openapi.projectRoots.impl.ProjectJdkTableImpl"/>
|
||||
<applicationService serviceInterface="com.intellij.codeInsight.TargetElementUtilBase"
|
||||
serviceImplementation="com.intellij.codeInsight.TargetElementUtilBase"/>
|
||||
<applicationService serviceInterface="com.intellij.codeInsight.TargetElementUtil"
|
||||
serviceImplementation="com.intellij.codeInsight.TargetElementUtil"/>
|
||||
<applicationService serviceInterface="com.intellij.profile.codeInspection.InspectionProfileManager"
|
||||
serviceImplementation="com.intellij.codeInspection.ex.InspectionProfileManagerImpl"/>
|
||||
|
||||
|
||||
+6
-6
@@ -17,7 +17,7 @@
|
||||
package com.intellij.testFramework.fixtures.impl;
|
||||
|
||||
import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.completion.CodeCompletionHandlerBase;
|
||||
import com.intellij.codeInsight.completion.CompletionProgressIndicator;
|
||||
import com.intellij.codeInsight.completion.CompletionType;
|
||||
@@ -679,12 +679,12 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
|
||||
public PsiElement getElementAtCaret() {
|
||||
assertInitialized();
|
||||
Editor editor = getCompletionEditor();
|
||||
int findTargetFlags = TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtilBase.ELEMENT_NAME_ACCEPTED;
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(editor, findTargetFlags);
|
||||
int findTargetFlags = TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtil.ELEMENT_NAME_ACCEPTED;
|
||||
PsiElement element = TargetElementUtil.findTargetElement(editor, findTargetFlags);
|
||||
|
||||
// if no references found in injected fragment, try outer document
|
||||
if (element == null && editor instanceof EditorWindow) {
|
||||
element = TargetElementUtilBase.findTargetElement(((EditorWindow)editor).getDelegate(), findTargetFlags);
|
||||
element = TargetElementUtil.findTargetElement(((EditorWindow)editor).getDelegate(), findTargetFlags);
|
||||
}
|
||||
|
||||
if (element == null) {
|
||||
@@ -852,8 +852,8 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
|
||||
public Collection<UsageInfo> testFindUsages(@NotNull @NonNls final String... fileNames) {
|
||||
assertInitialized();
|
||||
configureByFiles(fileNames);
|
||||
final PsiElement targetElement = TargetElementUtilBase
|
||||
.findTargetElement(getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil
|
||||
.findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
Assert.assertNotNull("Cannot find referenced element", targetElement);
|
||||
return findUsages(targetElement);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.lang.ant.refactoring;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.ant.dom.AntDomFileDescription;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
@@ -72,11 +72,11 @@ public final class AntRenameHandler extends PsiElementRenameHandler {
|
||||
@Nullable
|
||||
private static PsiElement[] getPsiElementsIn(final Editor editor, final PsiFile psiFile) {
|
||||
try {
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset());
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset());
|
||||
if (reference == null) {
|
||||
return null;
|
||||
}
|
||||
final Collection<PsiElement> candidates = TargetElementUtilBase.getInstance().getTargetCandidates(reference);
|
||||
final Collection<PsiElement> candidates = TargetElementUtil.getInstance().getTargetCandidates(reference);
|
||||
return ContainerUtil.toArray(candidates, new PsiElement[candidates.size()]);
|
||||
}
|
||||
catch (IndexNotReadyException e) {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.lang.ant;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.application.PluginPathManager;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -143,9 +143,9 @@ public class AntRenameTest extends LightCodeInsightTestCase {
|
||||
text = text.replace("<ren>", "");
|
||||
configureFromFileText(filename, text);
|
||||
assertNotNull(myFile);
|
||||
PsiElement element = TargetElementUtilBase.getInstance().findTargetElement(
|
||||
PsiElement element = TargetElementUtil.getInstance().findTargetElement(
|
||||
getEditor(),
|
||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtilBase.ELEMENT_NAME_ACCEPTED,
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtil.ELEMENT_NAME_ACCEPTED,
|
||||
off);
|
||||
assertNotNull(element);
|
||||
assertTrue(element instanceof PsiNamedElement);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jetbrains.idea.devkit.codeInsight
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.codeInsight.completion.CompletionType
|
||||
import com.intellij.codeInspection.xml.DeprecatedClassUsageInspection
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
@@ -253,7 +253,7 @@ public class PluginXmlFunctionalTest extends JavaCodeInsightFixtureTestCase {
|
||||
public void testExtensionPointPresentation() {
|
||||
myFixture.configureByFile(getTestName(true) + ".xml");
|
||||
final PsiElement element =
|
||||
TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assert element != null;
|
||||
assertEquals("Extension Point", ElementDescriptionUtil.getElementDescription(element, UsageViewTypeLocation.INSTANCE));
|
||||
assertEquals("Extension Point bar", ElementDescriptionUtil.getElementDescription(element, UsageViewNodeTextLocation.INSTANCE));
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.plugins.groovy.lang.psi.impl;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.JavaTargetElementEvaluator;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
@@ -35,7 +35,7 @@ import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrRenameableLightEle
|
||||
/**
|
||||
* @author Maxim.Medvedev
|
||||
*/
|
||||
public class GroovyTargetElementEvaluator extends TargetElementUtil {
|
||||
public class GroovyTargetElementEvaluator extends JavaTargetElementEvaluator {
|
||||
|
||||
public static final Key<Object> NAVIGATION_ELEMENT_IS_NOT_TARGET = Key.create("GroovyTargetElementEvaluator.DONT_FOLLOW_NAVIGATION_ELEMENT");
|
||||
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.groovy.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.refactoring.InlineActionHandler;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
@@ -70,7 +70,7 @@ public class GroovyInlineLocalHandler extends InlineActionHandler {
|
||||
}
|
||||
|
||||
public static void invoke(final Project project, Editor editor, final GrVariable local) {
|
||||
final PsiReference invocationReference = editor != null ? TargetElementUtilBase.findReference(editor) : null;
|
||||
final PsiReference invocationReference = editor != null ? TargetElementUtil.findReference(editor) : null;
|
||||
|
||||
final InlineLocalVarSettings localVarSettings = createSettings(local, editor, invocationReference != null);
|
||||
if (localVarSettings == null) return;
|
||||
@@ -103,7 +103,7 @@ public class GroovyInlineLocalHandler extends InlineActionHandler {
|
||||
//search for initializer to inline
|
||||
if (invokedOnReference) {
|
||||
LOG.assertTrue(editor != null, "null editor but invokedOnReference==true");
|
||||
final PsiReference ref = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference ref = TargetElementUtil.findReference(editor);
|
||||
LOG.assertTrue(ref != null);
|
||||
|
||||
PsiElement cur = ref.getElement();
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.plugins.groovy.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.lang.refactoring.InlineHandler;
|
||||
import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
@@ -81,7 +81,7 @@ public class GroovyInlineMethodUtil {
|
||||
}
|
||||
|
||||
if (invokedOnReference) {
|
||||
PsiReference reference = editor != null ? TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
PsiReference reference = editor != null ? TargetElementUtil.findReference(editor, editor.getCaretModel().getOffset()) : null;
|
||||
if (reference == null) return InlineHandler.Settings.CANNOT_INLINE_SETTINGS;
|
||||
|
||||
PsiElement element = reference.getElement();
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.plugins.groovy;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -43,8 +43,8 @@ public class GroovyGotoTest extends LightCodeInsightFixtureTestCase {
|
||||
for (String file : files) {
|
||||
myFixture.configureByFile(file);
|
||||
}
|
||||
final TargetElementUtilBase targetUtil = TargetElementUtilBase.getInstance();
|
||||
final PsiElement target = TargetElementUtilBase.findTargetElement(myFixture.getEditor(), targetUtil.getReferenceSearchFlags());
|
||||
final TargetElementUtil targetUtil = TargetElementUtil.getInstance();
|
||||
final PsiElement target = TargetElementUtil.findTargetElement(myFixture.getEditor(), targetUtil.getReferenceSearchFlags());
|
||||
assertTrue(verifier.value(target));
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.plugins.groovy.lang.findUsages
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.find.FindManager
|
||||
import com.intellij.find.findUsages.FindUsagesHandler
|
||||
import com.intellij.find.findUsages.FindUsagesManager
|
||||
@@ -77,7 +77,7 @@ public class FindUsagesTest extends LightGroovyTestCase {
|
||||
|
||||
public void testConstructorUsageInNewExpression() throws Throwable {
|
||||
myFixture.configureByFile("ConstructorUsageInNewExpression.groovy");
|
||||
final PsiElement resolved = TargetElementUtilBase.findTargetElement(myFixture.editor, TargetElementUtilBase.instance.referenceSearchFlags);
|
||||
final PsiElement resolved = TargetElementUtil.findTargetElement(myFixture.editor, TargetElementUtil.instance.referenceSearchFlags);
|
||||
assertNotNull("Could not resolve reference", resolved);
|
||||
final GlobalSearchScope projectScope = GlobalSearchScope.projectScope(myFixture.project);
|
||||
assertEquals(2, MethodReferencesSearch.search((PsiMethod)resolved, projectScope, true).findAll().size());
|
||||
@@ -86,7 +86,7 @@ public class FindUsagesTest extends LightGroovyTestCase {
|
||||
|
||||
public void testGotoConstructor() throws Throwable {
|
||||
myFixture.configureByFile("GotoConstructor.groovy");
|
||||
final PsiElement target = TargetElementUtilBase.findTargetElement(myFixture.editor, TargetElementUtilBase.instance.referenceSearchFlags);
|
||||
final PsiElement target = TargetElementUtil.findTargetElement(myFixture.editor, TargetElementUtil.instance.referenceSearchFlags);
|
||||
assertNotNull(target);
|
||||
assertInstanceOf(target, PsiMethod.class);
|
||||
assertTrue(((PsiMethod)target).constructor);
|
||||
@@ -180,8 +180,8 @@ public class FindUsagesTest extends LightGroovyTestCase {
|
||||
}
|
||||
|
||||
private void assertUsageCount(int expectedUsagesCount) {
|
||||
final PsiElement resolved = TargetElementUtilBase.findTargetElement(myFixture.getEditor(),
|
||||
TargetElementUtilBase.getInstance().getReferenceSearchFlags());
|
||||
final PsiElement resolved = TargetElementUtil.findTargetElement(myFixture.getEditor(),
|
||||
TargetElementUtil.getInstance().getReferenceSearchFlags());
|
||||
assertNotNull("Could not resolve reference", resolved);
|
||||
doFind(expectedUsagesCount, resolved);
|
||||
}
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jetbrains.plugins.groovy.lang.resolve
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.roots.ContentEntry
|
||||
import com.intellij.openapi.roots.ModifiableRootModel
|
||||
@@ -64,7 +64,7 @@ class A extends Page {
|
||||
}
|
||||
}
|
||||
''')
|
||||
def instance = TargetElementUtilBase.getInstance()
|
||||
def instance = TargetElementUtil.getInstance()
|
||||
def resolved = instance.findTargetElement(editor, instance.allAccepted, editor.caretModel.offset)
|
||||
assertInstanceOf resolved, PsiMethod
|
||||
assertEquals ('NavigableSupport', (resolved as PsiMethod).containingClass.name)
|
||||
@@ -82,7 +82,7 @@ class A extends Page {
|
||||
}
|
||||
}
|
||||
''')
|
||||
def instance = TargetElementUtilBase.getInstance()
|
||||
def instance = TargetElementUtil.getInstance()
|
||||
def resolved = instance.findTargetElement(editor, instance.allAccepted, editor.caretModel.offset).navigationElement
|
||||
assertInstanceOf resolved, PsiMethod
|
||||
assertEquals ('NavigableSupport', (resolved as PsiMethod).containingClass.name)
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package org.jetbrains.plugins.groovy.refactoring.changeSignature;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.refactoring.changeSignature.ChangeSignatureProcessor;
|
||||
import com.intellij.refactoring.changeSignature.JavaThrownExceptionInfo;
|
||||
@@ -240,7 +240,7 @@ public class ChangeSignatureForJavaTest extends LightCodeInsightFixtureTestCase
|
||||
private void doTest(@Nullable @PsiModifier.ModifierConstant String newVisibility, @Nullable String newName, @Nullable String newReturnType, GenParams genParams, GenExceptions genExceptions, final boolean generateDelegate) throws Exception {
|
||||
myFixture.configureByFile(getTestName(false) +".groovy");
|
||||
myFixture.configureByFile(getTestName(false) + ".java");
|
||||
final PsiElement targetElement = TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
final PsiElement targetElement = TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof PsiMethod);
|
||||
PsiMethod method = (PsiMethod) targetElement;
|
||||
final PsiElementFactory factory = JavaPsiFacade.getInstance(getProject()).getElementFactory();
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ public abstract class ChangeSignatureTestCase extends LightCodeInsightFixtureTes
|
||||
@NotNull GenExceptions genExceptions,
|
||||
boolean generateDelegate) {
|
||||
final PsiElement targetElement = new GrChangeSignatureHandler().findTargetMember(myFixture.getFile(), myFixture.getEditor());
|
||||
//TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED);
|
||||
//TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED);
|
||||
assertTrue("<caret> is not on method name", targetElement instanceof GrMethod);
|
||||
GrMethod method = (GrMethod)targetElement;
|
||||
final PsiElementFactory factory = JavaPsiFacade.getInstance(getProject()).getElementFactory();
|
||||
|
||||
+4
-4
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.plugins.groovy.refactoring.inline
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.lang.ASTNode
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -125,15 +125,15 @@ public class InlineVariableTest extends LightCodeInsightFixtureTestCase {
|
||||
}
|
||||
|
||||
public static void performInline(Project project, Editor editor) {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(editor, TargetElementUtil.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertInstanceOf(element, GrVariable);
|
||||
|
||||
GroovyInlineLocalHandler.invoke(project, editor, element as GrVariable);
|
||||
}
|
||||
|
||||
public static void performDefInline(Project project, Editor editor) {
|
||||
PsiReference reference = TargetElementUtilBase.findReference(editor);
|
||||
PsiReference reference = TargetElementUtil.findReference(editor);
|
||||
assertTrue(reference instanceof PsiReferenceExpression);
|
||||
final PsiElement local = reference.resolve();
|
||||
assertTrue(local instanceof PsiLocalVariable);
|
||||
|
||||
+3
-4
@@ -15,10 +15,9 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.groovy.refactoring.safeDelete
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase
|
||||
import com.intellij.codeInsight.TargetElementUtil
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.refactoring.safeDelete.SafeDeleteHandler
|
||||
import com.intellij.refactoring.safeDelete.SafeDeleteProcessor
|
||||
import org.jetbrains.plugins.groovy.LightGroovyTestCase
|
||||
import org.jetbrains.plugins.groovy.util.TestUtils;
|
||||
|
||||
@@ -63,8 +62,8 @@ class X{}
|
||||
myFixture.configureByText('test.java', java)
|
||||
def groovyFile = myFixture.addFileToProject('test.groovy', groovy)
|
||||
|
||||
final PsiElement psiElement = TargetElementUtilBase
|
||||
.findTargetElement(myFixture.editor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
final PsiElement psiElement = TargetElementUtil
|
||||
.findTargetElement(myFixture.editor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
|
||||
SafeDeleteHandler.invoke(myFixture.project, [psiElement] as PsiElement[], true)
|
||||
|
||||
|
||||
+6
-5
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.plugins.javaFX;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.application.PluginPathManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.refactoring.rename.RenameProcessor;
|
||||
@@ -39,15 +39,16 @@ public class RefactoringFieldTest extends AbstractJavaFXTestCase {
|
||||
}
|
||||
|
||||
protected void performRename(String newName) {
|
||||
PsiElement element = TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase
|
||||
.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil
|
||||
.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
|
||||
new RenameProcessor(getProject(), element, newName, false, false).run();
|
||||
}
|
||||
|
||||
private void performDelete() {
|
||||
final PsiElement psiElement = TargetElementUtilBase
|
||||
.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
final PsiElement psiElement = TargetElementUtil
|
||||
.findTargetElement(myFixture.getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull("No element found in text:\n" + myFixture.getFile().getText(), psiElement);
|
||||
SafeDeleteHandler.invoke(getProject(), new PsiElement[]{psiElement}, true);
|
||||
}
|
||||
|
||||
+5
-5
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.javaFX.fxml;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase;
|
||||
import com.intellij.openapi.application.PluginPathManager;
|
||||
import com.intellij.psi.PsiClass;
|
||||
@@ -67,8 +67,8 @@ public class JavaFXRenameTest extends DaemonAnalyzerTestCase {
|
||||
|
||||
public void testIdWithRefs() throws Exception {
|
||||
configureByFiles(null, getTestName(true) + ".fxml");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
new RenameProcessor(getProject(), element, "lb1", true, true).run();
|
||||
checkResultByFile(getTestName(true) + "_after.fxml");
|
||||
@@ -80,8 +80,8 @@ public class JavaFXRenameTest extends DaemonAnalyzerTestCase {
|
||||
|
||||
private void doTest(final String newName, boolean inline) throws Exception {
|
||||
configureByFiles(null, getTestName(true) + ".fxml", getTestName(false) + ".java");
|
||||
PsiElement element = TargetElementUtilBase
|
||||
.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement element = TargetElementUtil
|
||||
.findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
assertNotNull(element);
|
||||
if (inline) {
|
||||
CodeInsightTestUtil.doInlineRename(new MemberInplaceRenameHandler(), newName, getEditor(), element);
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package org.jetbrains.idea.maven.dom.references;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -33,7 +33,7 @@ public class MavenTargetUtil {
|
||||
public static PsiElement getFindTarget(Editor editor, PsiFile file) {
|
||||
if (editor == null || file == null) return null;
|
||||
|
||||
PsiElement target = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED);
|
||||
PsiElement target = TargetElementUtil.findTargetElement(editor, TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
|
||||
if (target instanceof MavenPsiElementWrapper) {
|
||||
return ((MavenPsiElementWrapper)target).getWrappee();
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package org.jetbrains.idea.maven.dom;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.documentation.DocumentationManager;
|
||||
import com.intellij.codeInsight.highlighting.HighlightUsagesHandler;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
@@ -352,9 +352,9 @@ public abstract class MavenDomTestCase extends MavenImportingTestCase {
|
||||
MapDataContext context = new MapDataContext();
|
||||
context.put(CommonDataKeys.EDITOR, getEditor(f));
|
||||
context.put(CommonDataKeys.PSI_FILE, getTestPsiFile(f));
|
||||
context.put(CommonDataKeys.PSI_ELEMENT, TargetElementUtilBase.findTargetElement(getEditor(f),
|
||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED
|
||||
| TargetElementUtilBase.ELEMENT_NAME_ACCEPTED));
|
||||
context.put(CommonDataKeys.PSI_ELEMENT, TargetElementUtil.findTargetElement(getEditor(f),
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED
|
||||
| TargetElementUtil.ELEMENT_NAME_ACCEPTED));
|
||||
return context;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
package com.theoryinpractice.testng.intention;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
@@ -56,7 +56,7 @@ public class TestNGOrderEntryFix implements IntentionAction {
|
||||
if (!(file instanceof PsiJavaFile)) return false;
|
||||
if (!file.getLanguage().isKindOf(JavaLanguage.INSTANCE)) return false;
|
||||
|
||||
final PsiReference reference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference reference = TargetElementUtil.findReference(editor);
|
||||
if (!(reference instanceof PsiJavaCodeReferenceElement)) return false;
|
||||
if (reference.resolve() != null) return false;
|
||||
@NonNls final String referenceName = ((PsiJavaCodeReferenceElement)reference).getReferenceName();
|
||||
@@ -72,7 +72,7 @@ public class TestNGOrderEntryFix implements IntentionAction {
|
||||
}
|
||||
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException {
|
||||
final PsiJavaCodeReferenceElement reference = (PsiJavaCodeReferenceElement)TargetElementUtilBase.findReference(editor);
|
||||
final PsiJavaCodeReferenceElement reference = (PsiJavaCodeReferenceElement)TargetElementUtil.findReference(editor);
|
||||
LOG.assertTrue(reference != null);
|
||||
String jarPath = PathUtil.getJarPathForClass(Test.class);
|
||||
final VirtualFile virtualFile = file.getVirtualFile();
|
||||
|
||||
@@ -16,12 +16,15 @@
|
||||
package com.jetbrains.python.codeInsight;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementEvaluator;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.jetbrains.python.codeInsight.controlflow.ScopeOwner;
|
||||
import com.jetbrains.python.psi.*;
|
||||
import com.jetbrains.python.psi.PyParameter;
|
||||
import com.jetbrains.python.psi.PyReferenceExpression;
|
||||
import com.jetbrains.python.psi.PyReferenceOwner;
|
||||
import com.jetbrains.python.psi.PyTargetExpression;
|
||||
import com.jetbrains.python.psi.resolve.PyResolveContext;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -41,7 +44,7 @@ public class PyTargetElementEvaluator implements TargetElementEvaluator {
|
||||
@Nullable
|
||||
@Override
|
||||
public PsiElement getElementByReference(@NotNull PsiReference ref, int flags) {
|
||||
if ((flags & TargetElementUtilBase.ELEMENT_NAME_ACCEPTED) == 0){
|
||||
if ((flags & TargetElementUtil.ELEMENT_NAME_ACCEPTED) == 0){
|
||||
return null;
|
||||
}
|
||||
final PsiElement element = ref.getElement();
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.jetbrains.python.documentation;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.ide.actions.ShowSettingsUtilImpl;
|
||||
import com.intellij.lang.documentation.AbstractDocumentationProvider;
|
||||
import com.intellij.lang.documentation.ExternalDocumentationProvider;
|
||||
@@ -337,7 +337,7 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
|
||||
if (document == null) {
|
||||
return element;
|
||||
}
|
||||
int newOffset = TargetElementUtilBase.adjustOffset(file, document, element.getTextOffset());
|
||||
int newOffset = TargetElementUtil.adjustOffset(file, document, element.getTextOffset());
|
||||
PsiElement newElement = file.findElementAt(newOffset);
|
||||
return newElement != null ? newElement : element;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.jetbrains.python.hierarchy.call;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.ide.hierarchy.CallHierarchyBrowserBase;
|
||||
import com.intellij.ide.hierarchy.HierarchyBrowser;
|
||||
import com.intellij.ide.hierarchy.HierarchyProvider;
|
||||
@@ -50,9 +50,9 @@ public class PyCallHierarchyProvider implements HierarchyProvider {
|
||||
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
|
||||
if (file == null) return null;
|
||||
|
||||
element = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED);
|
||||
element = TargetElementUtil.findTargetElement(editor, TargetElementUtil.ELEMENT_NAME_ACCEPTED |
|
||||
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED |
|
||||
TargetElementUtil.LOOKUP_ITEM_ACCEPTED);
|
||||
if (element instanceof PyFunction || element instanceof PyClass || element instanceof PyFile) {
|
||||
return element;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.jetbrains.python.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.refactoring.InlineActionHandler;
|
||||
@@ -88,7 +88,7 @@ public class PyInlineLocalHandler extends InlineActionHandler {
|
||||
if (editor == null) {
|
||||
return;
|
||||
}
|
||||
final PsiReference psiReference = TargetElementUtilBase.findReference(editor);
|
||||
final PsiReference psiReference = TargetElementUtil.findReference(editor);
|
||||
PyReferenceExpression refExpr = null;
|
||||
if (psiReference != null) {
|
||||
final PsiElement refElement = psiReference.getElement();
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.jetbrains.python;
|
||||
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
@@ -157,8 +157,8 @@ public class PyFindUsagesTest extends PyTestCase {
|
||||
myFixture.copyDirectoryToProject("findUsages/" + testName, "");
|
||||
PsiDocumentManager.getInstance(myFixture.getProject()).commitAllDocuments();
|
||||
myFixture.configureFromTempProjectFile(filename);
|
||||
final int flags = TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED;
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myFixture.getEditor(), flags);
|
||||
final int flags = TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED;
|
||||
final PsiElement element = TargetElementUtil.findTargetElement(myFixture.getEditor(), flags);
|
||||
assertNotNull(element);
|
||||
return myFixture.findUsages(element);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user