mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
CPP-2814 Rearrange descriptors and avoid overriding of host-IDE components - part 2
* custom enum replaced with ThreeState
This commit is contained in:
@@ -29,6 +29,7 @@ import com.intellij.psi.xml.XmlAttributeValue;
|
||||
import com.intellij.psi.xml.XmlTag;
|
||||
import com.intellij.psi.xml.XmlText;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.ThreeState;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -77,8 +78,8 @@ public class TargetElementUtil extends TargetElementEvaluatorEx2 implements Targ
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Answer isAcceptableReferencedElement(@NotNull final PsiElement element, final PsiElement referenceOrReferencedElement) {
|
||||
if (isEnumConstantReference(element, referenceOrReferencedElement)) return Answer.NO;
|
||||
public ThreeState isAcceptableReferencedElement(@NotNull final PsiElement element, final PsiElement referenceOrReferencedElement) {
|
||||
if (isEnumConstantReference(element, referenceOrReferencedElement)) return ThreeState.NO;
|
||||
return super.isAcceptableReferencedElement(element, referenceOrReferencedElement);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.util.ThreeState;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -70,8 +71,8 @@ public abstract class TargetElementEvaluatorEx2 implements TargetElementEvaluato
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Answer isAcceptableReferencedElement(@NotNull PsiElement element, @Nullable PsiElement referenceOrReferencedElement) {
|
||||
return Answer.DEFAULT;
|
||||
public ThreeState isAcceptableReferencedElement(@NotNull PsiElement element, @Nullable PsiElement referenceOrReferencedElement) {
|
||||
return ThreeState.UNSURE;
|
||||
}
|
||||
|
||||
public boolean includeSelfInGotoImplementation(@NotNull final PsiElement element) {
|
||||
@@ -86,6 +87,4 @@ public abstract class TargetElementEvaluatorEx2 implements TargetElementEvaluato
|
||||
public SearchScope getSearchScope(Editor editor, @NotNull PsiElement element) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public enum Answer { YES, NO, DEFAULT;}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ 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;
|
||||
@@ -251,9 +252,9 @@ public class TargetElementUtilBase {
|
||||
|
||||
TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null;
|
||||
if (evaluator != null) {
|
||||
TargetElementEvaluatorEx2.Answer answer = evaluator.isAcceptableReferencedElement(element, referenceOrReferencedElement);
|
||||
if (answer == TargetElementEvaluatorEx2.Answer.YES) return true;
|
||||
if (answer == TargetElementEvaluatorEx2.Answer.NO) return false;
|
||||
ThreeState answer = evaluator.isAcceptableReferencedElement(element, referenceOrReferencedElement);
|
||||
if (answer == ThreeState.YES) return true;
|
||||
if (answer == ThreeState.NO) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user