From cd2a334e6e6295ef52f43df43b787202d30a9c57 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Tue, 3 Apr 2018 15:01:50 +0200 Subject: [PATCH] annotate PsiReference's #getElement and #getRangeInElement with @NotNull --- .../intellij/lang/regexp/psi/impl/RegExpBackrefImpl.java | 2 ++ .../lang/regexp/psi/impl/RegExpNamedGroupRefImpl.java | 2 ++ .../lang/regexp/psi/impl/RegExpPropertyImpl.java | 2 ++ .../src/com/intellij/psi/AbstractQualifiedReference.java | 2 ++ .../reference/impl/providers/JavaClassReference.java | 2 ++ .../spi/psi/SPIClassProviderReferenceElement.java | 1 + .../spi/psi/SPIPackageOrClassReferenceElement.java | 2 ++ .../impl/search/ConstructorReferencesSearchHelper.java | 2 ++ .../impl/compiled/ClsJavaCodeReferenceElementImpl.java | 2 ++ .../psi/impl/compiled/ClsReferenceExpressionImpl.java | 2 ++ .../intellij/psi/impl/light/LightClassReferenceBase.java | 2 ++ .../intellij/psi/impl/light/LightMemberReference.java | 2 ++ .../intellij/psi/impl/light/LightPackageReference.java | 2 ++ .../intellij/psi/impl/source/PsiEnumConstantImpl.java | 2 ++ .../impl/source/PsiImportStaticReferenceElementImpl.java | 2 ++ .../psi/impl/source/PsiJavaCodeReferenceElementImpl.java | 2 ++ .../com/intellij/psi/impl/source/PsiLabelReference.java | 2 ++ .../psi/impl/source/javadoc/PsiDocMethodOrFieldRef.java | 2 ++ .../intellij/psi/impl/source/javadoc/PsiDocParamRef.java | 2 ++ .../tree/java/PsiMethodReferenceExpressionImpl.java | 2 ++ .../psi/impl/source/tree/java/PsiNameValuePairImpl.java | 2 ++ .../psi/impl/source/tree/java/PsiNewExpressionImpl.java | 2 ++ .../source/tree/java/PsiReferenceExpressionImpl.java | 2 ++ .../json/psi/impl/JsonPropertyNameReference.java | 2 ++ .../resolve/reference/impl/providers/FileReference.java | 2 ++ .../com/intellij/psi/PsiPolyVariantReferenceBase.java | 9 +++++---- platform/core-api/src/com/intellij/psi/PsiReference.java | 2 ++ .../core-api/src/com/intellij/psi/PsiReferenceBase.java | 8 +++++--- .../resolve/reference/impl/PsiDelegateReference.java | 2 ++ .../source/resolve/reference/impl/PsiMultiReference.java | 2 ++ .../src/com/intellij/psi/PsiReferenceWrapper.java | 2 ++ .../daemon/impl/analysis/encoding/EncodingReference.java | 2 ++ .../src/com/intellij/openapi/paths/PsiDynaReference.java | 1 + .../plugins/intelliLang/util/StringLiteralReference.java | 2 ++ .../findUsages/GroovyConstructorUsagesSearcher.java | 2 ++ .../groovydoc/psi/impl/GrDocMemberReferenceImpl.java | 2 ++ .../groovydoc/psi/impl/GrDocParameterReferenceImpl.java | 2 ++ .../groovy/lang/psi/impl/GrReferenceElementImpl.java | 2 ++ .../groovy/lang/psi/impl/auxiliary/GrLabelReference.java | 2 ++ .../annotation/GrAnnotationNameValuePairImpl.java | 2 ++ .../psi/impl/statements/GrOperatorExpressionImpl.java | 2 ++ .../impl/statements/arguments/GrArgumentLabelImpl.java | 2 ++ .../impl/statements/expressions/GrNewExpressionImpl.java | 2 ++ .../expressions/arithmetic/GrUnaryExpressionImpl.java | 2 ++ .../expressions/types/GrSafeCastExpressionImpl.java | 2 ++ .../typedef/enumConstant/GrEnumConstantImpl.java | 2 ++ .../psi/impl/synthetic/GrLightClassReferenceElement.java | 2 ++ .../javaFX/fxml/refs/FxmlReferencesContributor.java | 2 ++ .../javaFX/fxml/refs/JavaFxEventHandlerReference.java | 1 + .../plugins/javaFX/fxml/refs/JavaFxTagNameReference.java | 1 + .../idea/maven/dom/references/MavenPsiReference.java | 2 ++ .../properties/references/PropertyReferenceBase.java | 1 + .../com/intellij/uiDesigner/binding/ReferenceInForm.java | 2 ++ .../org/intellij/lang/xpath/psi/impl/ReferenceBase.java | 2 ++ .../lang/xpath/psi/impl/XPathVariableReferenceImpl.java | 2 ++ .../xslt/impl/references/ExternalResourceReference.java | 3 ++- .../lang/xpath/xslt/impl/references/SelfReference.java | 2 ++ .../xslt/impl/references/SimpleAttributeReference.java | 2 ++ python/src/com/jetbrains/python/BaseReference.java | 2 ++ .../com/jetbrains/python/PyStringLiteralReference.java | 1 + .../buildout/config/ref/BuildoutPartReference.java | 1 + .../python/psi/impl/references/PyReferenceImpl.java | 2 ++ .../com/intellij/util/xml/DomReferenceInjectorTest.java | 2 ++ .../reference/impl/providers/DtdReferencesProvider.java | 4 ++++ .../src/com/intellij/xml/util/AnchorReferenceImpl.java | 4 +++- .../relaxNG/compact/psi/impl/PatternReference.java | 1 + .../plugins/relaxNG/compact/psi/impl/RncNameImpl.java | 2 ++ .../impl/providers/BasicAttributeValueReference.java | 2 ++ .../impl/providers/SchemaReferencesProvider.java | 2 ++ .../providers/TypeOrElementOrAttributeReference.java | 2 ++ .../resolve/reference/impl/providers/URLReference.java | 2 ++ .../reference/impl/providers/XmlValueReference.java | 2 ++ .../intellij/psi/impl/source/xml/TagNameReference.java | 2 ++ .../psi/impl/source/xml/XmlAttributeReference.java | 2 ++ .../com/intellij/psi/impl/source/xml/XmlDoctypeImpl.java | 1 + 75 files changed, 150 insertions(+), 9 deletions(-) diff --git a/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpBackrefImpl.java b/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpBackrefImpl.java index 3d9e8591dff3..840c1823e21e 100644 --- a/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpBackrefImpl.java +++ b/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpBackrefImpl.java @@ -73,10 +73,12 @@ public class RegExpBackrefImpl extends RegExpElementImpl implements RegExpBackre public PsiReference getReference() { return new PsiReference() { + @NotNull public PsiElement getElement() { return RegExpBackrefImpl.this; } + @NotNull public TextRange getRangeInElement() { return TextRange.from(0, getElement().getTextLength()); } diff --git a/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpNamedGroupRefImpl.java b/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpNamedGroupRefImpl.java index f793abc807ab..4f8a3740bc6e 100644 --- a/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpNamedGroupRefImpl.java +++ b/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpNamedGroupRefImpl.java @@ -93,11 +93,13 @@ public class RegExpNamedGroupRefImpl extends RegExpElementImpl implements RegExp return null; } return new PsiReference() { + @NotNull @Override public PsiElement getElement() { return RegExpNamedGroupRefImpl.this; } + @NotNull @Override public TextRange getRangeInElement() { final ASTNode groupNode = getNode().getFirstChildNode(); diff --git a/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpPropertyImpl.java b/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpPropertyImpl.java index 4873d6549954..17d9ebffbc4d 100644 --- a/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpPropertyImpl.java +++ b/RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpPropertyImpl.java @@ -66,10 +66,12 @@ public class RegExpPropertyImpl extends RegExpElementImpl implements RegExpPrope } private class MyPsiReference implements PsiReference { + @NotNull public PsiElement getElement() { return RegExpPropertyImpl.this; } + @NotNull public TextRange getRangeInElement() { ASTNode firstNode = getNode().findChildByType(RegExpTT.CARET); if (firstNode == null) { diff --git a/java/java-impl/src/com/intellij/psi/AbstractQualifiedReference.java b/java/java-impl/src/com/intellij/psi/AbstractQualifiedReference.java index 5de24b4712d1..7c6c9417a216 100644 --- a/java/java-impl/src/com/intellij/psi/AbstractQualifiedReference.java +++ b/java/java-impl/src/com/intellij/psi/AbstractQualifiedReference.java @@ -44,6 +44,7 @@ public abstract class AbstractQualifiedReference implem } private class MyReference implements PsiJavaReference { + @NotNull @Override public PsiElement getElement() { return PsiEnumConstantImpl.this; } + @NotNull @Override public TextRange getRangeInElement() { PsiIdentifier nameIdentifier = getNameIdentifier(); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImportStaticReferenceElementImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImportStaticReferenceElementImpl.java index e406a386b6c2..dd68bbcf507e 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImportStaticReferenceElementImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImportStaticReferenceElementImpl.java @@ -170,11 +170,13 @@ public class PsiImportStaticReferenceElementImpl extends CompositePsiElement imp return childByRole.getText(); } + @NotNull @Override public PsiElement getElement() { return this; } + @NotNull @Override public TextRange getRangeInElement() { TreeElement nameChild = (TreeElement)findChildByRole(ChildRole.REFERENCE_NAME); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java index 32ac0d4554e2..386e41efdffe 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java @@ -1018,6 +1018,7 @@ public class PsiJavaCodeReferenceElementImpl extends CompositePsiElement impleme return childByRole.getText(); } + @NotNull @Override public final TextRange getRangeInElement() { return calcRangeInElement(this); @@ -1031,6 +1032,7 @@ public class PsiJavaCodeReferenceElementImpl extends CompositePsiElement impleme return parameterList.getTypeArguments(); } + @NotNull @Override public final PsiElement getElement() { return this; diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiLabelReference.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiLabelReference.java index 3ca8ca5dc34f..7e49616a6418 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiLabelReference.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiLabelReference.java @@ -35,11 +35,13 @@ public class PsiLabelReference implements PsiReference{ myIdentifier = identifier; } + @NotNull @Override public PsiElement getElement(){ return myStatement; } + @NotNull @Override public TextRange getRangeInElement(){ final int parent = myIdentifier.getStartOffsetInParent(); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocMethodOrFieldRef.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocMethodOrFieldRef.java index 267a16a362d8..0b2cfd12c316 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocMethodOrFieldRef.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocMethodOrFieldRef.java @@ -370,6 +370,7 @@ public class PsiDocMethodOrFieldRef extends CompositePsiElement implements PsiDo return getManager().areElementsEquivalent(resolve(), element); } + @NotNull @Override public TextRange getRangeInElement() { final ASTNode sharp = findChildByType(DOC_TAG_VALUE_SHARP_TOKEN); @@ -383,6 +384,7 @@ public class PsiDocMethodOrFieldRef extends CompositePsiElement implements PsiDo return new TextRange(getTextLength(), getTextLength()); } + @NotNull @Override public PsiElement getElement() { return PsiDocMethodOrFieldRef.this; diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocParamRef.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocParamRef.java index a4040c3f6357..06400d42d985 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocParamRef.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocParamRef.java @@ -145,12 +145,14 @@ public class PsiDocParamRef extends CompositePsiElement implements PsiDocTagValu return false; } + @NotNull @Override public TextRange getRangeInElement() { final int startOffsetInParent = valueToken.getPsi().getStartOffsetInParent(); return new TextRange(startOffsetInParent, startOffsetInParent + valueToken.getTextLength()); } + @NotNull @Override public PsiElement getElement() { return PsiDocParamRef.this; diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java index f15b2b5d6c29..80c5cddaf2a5 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java @@ -269,6 +269,7 @@ public class PsiMethodReferenceExpressionImpl extends JavaStubPsiElement 0 ? myFileReferenceSet.getReference(myIndex - 1) : null; } + @NotNull @Override public PsiElement getElement() { return myFileReferenceSet.getElement(); @@ -363,6 +364,7 @@ public class FileReference implements PsiFileReference, FileReferenceOwner, PsiP return item != null && FileReferenceHelperRegistrar.areElementsEquivalent(item, (PsiFileSystemItem)element); } + @NotNull @Override public TextRange getRangeInElement() { return myRange; diff --git a/platform/core-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java b/platform/core-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java index 909260858a8c..c54535b4e8c8 100644 --- a/platform/core-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java +++ b/platform/core-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java @@ -17,6 +17,7 @@ package com.intellij.psi; import com.intellij.openapi.util.TextRange; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -24,19 +25,19 @@ import org.jetbrains.annotations.Nullable; */ public abstract class PsiPolyVariantReferenceBase extends PsiReferenceBase implements PsiPolyVariantReference { - public PsiPolyVariantReferenceBase(final T psiElement) { + public PsiPolyVariantReferenceBase(@NotNull final T psiElement) { super(psiElement); } - public PsiPolyVariantReferenceBase(T element, TextRange range) { + public PsiPolyVariantReferenceBase(@NotNull T element, TextRange range) { super(element, range); } - public PsiPolyVariantReferenceBase(final T psiElement, final boolean soft) { + public PsiPolyVariantReferenceBase(@NotNull final T psiElement, final boolean soft) { super(psiElement, soft); } - public PsiPolyVariantReferenceBase(final T element, final TextRange range, final boolean soft) { + public PsiPolyVariantReferenceBase(@NotNull final T element, final TextRange range, final boolean soft) { super(element, range, soft); } diff --git a/platform/core-api/src/com/intellij/psi/PsiReference.java b/platform/core-api/src/com/intellij/psi/PsiReference.java index 4f3c31af5d2a..a6072d30bfa9 100644 --- a/platform/core-api/src/com/intellij/psi/PsiReference.java +++ b/platform/core-api/src/com/intellij/psi/PsiReference.java @@ -44,6 +44,7 @@ public interface PsiReference { * * @return the underlying element of the reference. */ + @NotNull PsiElement getElement(); /** @@ -52,6 +53,7 @@ public interface PsiReference { * * @return Relative range in element */ + @NotNull TextRange getRangeInElement(); /** diff --git a/platform/core-api/src/com/intellij/psi/PsiReferenceBase.java b/platform/core-api/src/com/intellij/psi/PsiReferenceBase.java index 8a8cb6caf8be..88ab205d9ce3 100644 --- a/platform/core-api/src/com/intellij/psi/PsiReferenceBase.java +++ b/platform/core-api/src/com/intellij/psi/PsiReferenceBase.java @@ -36,7 +36,7 @@ public abstract class PsiReferenceBase implements PsiRefer * @param rangeInElement range relatively to the element's start offset * @param soft soft */ - public PsiReferenceBase(T element, TextRange rangeInElement, boolean soft) { + public PsiReferenceBase(@NotNull T element, TextRange rangeInElement, boolean soft) { myElement = element; myRangeInElement = rangeInElement; mySoft = soft; @@ -46,7 +46,7 @@ public abstract class PsiReferenceBase implements PsiRefer * @param element PSI element * @param rangeInElement range relatively to the element's start offset */ - public PsiReferenceBase(T element, TextRange rangeInElement) { + public PsiReferenceBase(@NotNull T element, TextRange rangeInElement) { this(element); myRangeInElement = rangeInElement; } @@ -56,7 +56,7 @@ public abstract class PsiReferenceBase implements PsiRefer * @param element PSI element * @param soft soft */ - public PsiReferenceBase(T element, boolean soft) { + public PsiReferenceBase(@NotNull T element, boolean soft) { myElement = element; mySoft = soft; } @@ -87,11 +87,13 @@ public abstract class PsiReferenceBase implements PsiRefer } } + @NotNull @Override public T getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { if (myRangeInElement == null) { diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiDelegateReference.java b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiDelegateReference.java index 8cab524201a6..b7621667802b 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiDelegateReference.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiDelegateReference.java @@ -18,11 +18,13 @@ public class PsiDelegateReference implements PsiReference { myDelegate = delegate; } + @NotNull @Override public PsiElement getElement() { return myDelegate.getElement(); } + @NotNull @Override public TextRange getRangeInElement() { return myDelegate.getRangeInElement(); diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java index eac16a6731af..a440fb92784b 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/PsiMultiReference.java @@ -75,11 +75,13 @@ public class PsiMultiReference implements PsiPolyVariantReference { return myReferences[0]; } + @NotNull @Override public PsiElement getElement(){ return myElement; } + @NotNull @Override public TextRange getRangeInElement() { TextRange range = getRangeInElementIfSameForAll(); diff --git a/platform/lang-api/src/com/intellij/psi/PsiReferenceWrapper.java b/platform/lang-api/src/com/intellij/psi/PsiReferenceWrapper.java index be65dc32fb4f..8fe53131e349 100644 --- a/platform/lang-api/src/com/intellij/psi/PsiReferenceWrapper.java +++ b/platform/lang-api/src/com/intellij/psi/PsiReferenceWrapper.java @@ -14,11 +14,13 @@ public class PsiReferenceWrapper implements PsiReference { myOriginalPsiReference = originalPsiReference; } + @NotNull @Override public PsiElement getElement() { return myOriginalPsiReference.getElement(); } + @NotNull @Override public TextRange getRangeInElement() { return myOriginalPsiReference.getRangeInElement(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/encoding/EncodingReference.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/encoding/EncodingReference.java index e7adbab7969e..a482342efd70 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/encoding/EncodingReference.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/encoding/EncodingReference.java @@ -46,11 +46,13 @@ public class EncodingReference implements PsiReference, EmptyResolveMessageProvi myRangeInElement = rangeInElement; } + @NotNull @Override public PsiElement getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { return myRangeInElement; diff --git a/platform/lang-impl/src/com/intellij/openapi/paths/PsiDynaReference.java b/platform/lang-impl/src/com/intellij/openapi/paths/PsiDynaReference.java index 5f8325106cb1..15f7febec1d3 100644 --- a/platform/lang-impl/src/com/intellij/openapi/paths/PsiDynaReference.java +++ b/platform/lang-impl/src/com/intellij/openapi/paths/PsiDynaReference.java @@ -64,6 +64,7 @@ public class PsiDynaReference extends PsiReferenceBase if (!reference.isSoft()) mySoft = false; } + @NotNull @Override public TextRange getRangeInElement() { diff --git a/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/util/StringLiteralReference.java b/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/util/StringLiteralReference.java index b38174beabcd..551ad4eadc92 100644 --- a/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/util/StringLiteralReference.java +++ b/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/util/StringLiteralReference.java @@ -34,10 +34,12 @@ public abstract class StringLiteralReference implements PsiReference { myValue = value; } + @NotNull public PsiElement getElement() { return myValue; } + @NotNull public TextRange getRangeInElement() { return ElementManipulators.getValueTextRange(myValue); } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java index 90300eaa78a0..0da8fcb15bc7 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java @@ -250,11 +250,13 @@ public class GroovyConstructorUsagesSearcher extends QueryExecutorBase extends Groov return qualifiedReferenceName; } + @NotNull @Override public PsiElement getElement() { return this; } + @NotNull @Override public TextRange getRangeInElement() { final PsiElement refNameElement = getReferenceNameElement(); diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrLabelReference.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrLabelReference.java index 1058ca4088be..600519b060ad 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrLabelReference.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrLabelReference.java @@ -49,6 +49,7 @@ public class GrLabelReference implements PsiReference { throw new IncorrectOperationException("Can't bind not to labeled statement"); } + @NotNull @Override public TextRange getRangeInElement() { final PsiElement identifier = myStatement.getLabelIdentifier(); @@ -104,6 +105,7 @@ public class GrLabelReference implements PsiReference { return false; } + @NotNull @Override public GrFlowInterruptingStatement getElement() { return myStatement; diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/annotation/GrAnnotationNameValuePairImpl.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/annotation/GrAnnotationNameValuePairImpl.java index f4453ed81b3c..83f594fd0ec7 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/annotation/GrAnnotationNameValuePairImpl.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/annotation/GrAnnotationNameValuePairImpl.java @@ -151,11 +151,13 @@ public class GrAnnotationNameValuePairImpl extends GrStubElementBase { myOffsetInElement = offsetInElement; } + @NotNull @Override public TextRange getRangeInElement() { return TextRange.from(myOffsetInElement, myPartName.length()); diff --git a/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java b/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java index bed532015211..a44e539f7513 100644 --- a/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java @@ -51,6 +51,7 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference myContext = context; } + @NotNull @Override public TextRange getRangeInElement() { final ASTNode nameElement = myElement.getNameElement(); @@ -58,6 +59,7 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference return range.shiftRight(-myElement.getNode().getStartOffset()); } + @NotNull @Override public PsiElement getElement() { return myElement; diff --git a/xml/dom-tests/tests/com/intellij/util/xml/DomReferenceInjectorTest.java b/xml/dom-tests/tests/com/intellij/util/xml/DomReferenceInjectorTest.java index 5a8288a69a0f..484b98475bcd 100644 --- a/xml/dom-tests/tests/com/intellij/util/xml/DomReferenceInjectorTest.java +++ b/xml/dom-tests/tests/com/intellij/util/xml/DomReferenceInjectorTest.java @@ -418,11 +418,13 @@ public class DomReferenceInjectorTest extends DomHardCoreTestCase { return new PsiReference[] { new PsiReference() { + @NotNull @Override public PsiElement getElement() { return element; } + @NotNull @Override public TextRange getRangeInElement() { return refRange; diff --git a/xml/impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/DtdReferencesProvider.java b/xml/impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/DtdReferencesProvider.java index d4bd6be26dc0..09c5589f1544 100644 --- a/xml/impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/DtdReferencesProvider.java +++ b/xml/impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/DtdReferencesProvider.java @@ -65,11 +65,13 @@ public class DtdReferencesProvider extends PsiReferenceProvider { } + @NotNull @Override public PsiElement getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { return myRange; @@ -168,11 +170,13 @@ public class DtdReferencesProvider extends PsiReferenceProvider { } } + @NotNull @Override public PsiElement getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { return myRange; diff --git a/xml/impl/src/com/intellij/xml/util/AnchorReferenceImpl.java b/xml/impl/src/com/intellij/xml/util/AnchorReferenceImpl.java index 12de22a79e0a..bf7815140b08 100644 --- a/xml/impl/src/com/intellij/xml/util/AnchorReferenceImpl.java +++ b/xml/impl/src/com/intellij/xml/util/AnchorReferenceImpl.java @@ -41,7 +41,7 @@ public class AnchorReferenceImpl implements AnchorReference, PsiReference, Empty @NonNls private static final String MAP_ELEMENT_NAME = "map"; private static final Key>> ourCachedIdsKey = Key.create("cached.ids"); - AnchorReferenceImpl(final String anchor, @Nullable final FileReference psiReference, final PsiElement element, final int offset, + AnchorReferenceImpl(final String anchor, @Nullable final FileReference psiReference, @NotNull final PsiElement element, final int offset, final boolean soft) { myAnchor = anchor; @@ -51,11 +51,13 @@ public class AnchorReferenceImpl implements AnchorReference, PsiReference, Empty mySoft = soft; } + @NotNull @Override public PsiElement getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { return new TextRange(myOffset,myOffset+myAnchor.length()); diff --git a/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/PatternReference.java b/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/PatternReference.java index 26787794b610..9e18177a68ee 100644 --- a/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/PatternReference.java +++ b/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/PatternReference.java @@ -53,6 +53,7 @@ class PatternReference extends PsiReferenceBase.Poly implements Function super(ref); } + @NotNull @Override public TextRange getRangeInElement() { final ASTNode node = findNameNode(); diff --git a/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/RncNameImpl.java b/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/RncNameImpl.java index e20136faf8e2..ea7c28a321d9 100644 --- a/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/RncNameImpl.java +++ b/xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/RncNameImpl.java @@ -84,11 +84,13 @@ public class RncNameImpl extends RncElementImpl implements RncName, PsiReference return getPrefix() == null ? null : this; } + @NotNull @Override public PsiElement getElement() { return this; } + @NotNull @Override public TextRange getRangeInElement() { return TextRange.from(0, getText().indexOf(':')); diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/BasicAttributeValueReference.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/BasicAttributeValueReference.java index 0ed2ffea2853..83aafdbd37b7 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/BasicAttributeValueReference.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/BasicAttributeValueReference.java @@ -49,10 +49,12 @@ public abstract class BasicAttributeValueReference implements PsiReference { myRange = range; } + @NotNull public PsiElement getElement() { return myElement; } + @NotNull public TextRange getRangeInElement() { return myRange; } diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/SchemaReferencesProvider.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/SchemaReferencesProvider.java index 066b2f97b791..7d170120de64 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/SchemaReferencesProvider.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/SchemaReferencesProvider.java @@ -71,11 +71,13 @@ public class SchemaReferencesProvider extends PsiReferenceProvider { myElement = element; } + @NotNull @Override public PsiElement getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { return ElementManipulators.getValueTextRange(myElement); diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/TypeOrElementOrAttributeReference.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/TypeOrElementOrAttributeReference.java index 6c259c6a2667..b80aff26b887 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/TypeOrElementOrAttributeReference.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/TypeOrElementOrAttributeReference.java @@ -111,11 +111,13 @@ public class TypeOrElementOrAttributeReference implements PsiReference { return null; } + @NotNull @Override public PsiElement getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { return myRange; diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/URLReference.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/URLReference.java index aa86f830b01a..bfdf14494910 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/URLReference.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/URLReference.java @@ -57,11 +57,13 @@ public class URLReference implements PsiReference, EmptyResolveMessageProvider { mySoft = soft; } + @NotNull @Override public PsiElement getElement() { return myElement; } + @NotNull @Override public TextRange getRangeInElement() { return myRange != null ? myRange : ElementManipulators.getValueTextRange(myElement); diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/XmlValueReference.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/XmlValueReference.java index ba1e6898d533..ff35975a2b5d 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/XmlValueReference.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/XmlValueReference.java @@ -36,11 +36,13 @@ public abstract class XmlValueReference implements PsiReference { myRange = ElementManipulators.getValueTextRange(tag); } + @NotNull @Override public PsiElement getElement() { return myTag; } + @NotNull @Override public TextRange getRangeInElement() { return myRange; diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/TagNameReference.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/TagNameReference.java index 238760728231..9bca4c9f7cf0 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/TagNameReference.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/TagNameReference.java @@ -45,6 +45,7 @@ public class TagNameReference implements PsiReference { myNameElement = nameElement; } + @NotNull @Override public PsiElement getElement() { PsiElement element = myNameElement.getPsi(); @@ -59,6 +60,7 @@ public class TagNameReference implements PsiReference { return (XmlTag)element; } + @NotNull @Override public TextRange getRangeInElement() { final ASTNode nameElement = getNameElement(); diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlAttributeReference.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlAttributeReference.java index 28c38931eb20..76d4f8be81be 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlAttributeReference.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlAttributeReference.java @@ -43,11 +43,13 @@ public class XmlAttributeReference implements PsiReference { myAttribute = attribute; } + @NotNull @Override public XmlAttribute getElement() { return myAttribute; } + @NotNull @Override public TextRange getRangeInElement() { final int parentOffset = myAttribute.getNameElement().getStartOffsetInParent(); diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlDoctypeImpl.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlDoctypeImpl.java index 94d35b597ba7..392879834f6b 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlDoctypeImpl.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlDoctypeImpl.java @@ -245,6 +245,7 @@ public class XmlDoctypeImpl extends XmlElementImpl implements XmlDoctype { public String getCanonicalText() { return extractValue(dtdUrlElement); } + @NotNull @Override public TextRange getRangeInElement() { return TextRange.from(dtdUrlElement.getTextRange().getStartOffset() - getTextRange().getStartOffset() + 1, Math.max(dtdUrlElement.getTextRange().getLength() - 2, 0));