From 30b545993cb8db16b941c85d68f3b4e579492792 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 9 Jan 2018 18:15:21 +0300 Subject: [PATCH] check that the cached pointer has correct "forInjected" flag (pointer with incorrect range could have been returned otherwise) --- .../psi/impl/smartPointers/SelfElementInfo.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java index 438628b53cd9..142e38b1329c 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java @@ -59,7 +59,8 @@ public class SelfElementInfo extends SmartPointerElementInfo { assert pair.first.hashCode() == myIdentikit.hashCode(); myIdentikit = pair.first; setRange(pair.second.getTextRange()); - } else { + } + else { setRange(element.getTextRange()); } } @@ -68,7 +69,8 @@ public class SelfElementInfo extends SmartPointerElementInfo { if (range != null) { myStartOffset = range.getStartOffset(); myEndOffset = range.getEndOffset(); - } else { + } + else { myStartOffset = -1; myEndOffset = -1; } @@ -112,6 +114,10 @@ public class SelfElementInfo extends SmartPointerElementInfo { return calcPsiRange(); } + boolean isForInjected() { + return myForInjected; + } + @Nullable private TextRange calcPsiRange() { return hasRange() ? new UnfairTextRange(myStartOffset, myEndOffset) : null;