diff --git a/platform/core-api/src/com/intellij/psi/ElementManipulators.java b/platform/core-api/src/com/intellij/psi/ElementManipulators.java index 098a204c17cc..24203c3c82cb 100644 --- a/platform/core-api/src/com/intellij/psi/ElementManipulators.java +++ b/platform/core-api/src/com/intellij/psi/ElementManipulators.java @@ -15,9 +15,9 @@ */ package com.intellij.psi; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.ClassExtension; import com.intellij.openapi.util.TextRange; -import com.intellij.openapi.diagnostic.Logger; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; diff --git a/platform/util/src/com/intellij/openapi/util/TextRange.java b/platform/util/src/com/intellij/openapi/util/TextRange.java index 2556ad76f281..3a017a356bb4 100644 --- a/platform/util/src/com/intellij/openapi/util/TextRange.java +++ b/platform/util/src/com/intellij/openapi/util/TextRange.java @@ -77,7 +77,12 @@ public class TextRange implements Segment, Serializable { @NotNull public String substring(@NotNull String str) { - return str.substring(myStartOffset, myEndOffset); + try { + return str.substring(myStartOffset, myEndOffset); + } + catch (StringIndexOutOfBoundsException e) { + throw new StringIndexOutOfBoundsException("Can't extract " + this + " range from " + str); + } } @NotNull 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 b3c0fbc31800..6cd7479593a2 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 @@ -15,10 +15,10 @@ */ package com.intellij.psi.impl.source.resolve.reference.impl.providers; -import com.intellij.psi.PsiReference; -import com.intellij.psi.PsiElement; -import com.intellij.psi.ElementManipulators; import com.intellij.openapi.util.TextRange; +import com.intellij.psi.ElementManipulators; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiReference; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull;