check that the cached pointer has correct "forInjected" flag (pointer with incorrect range could have been returned otherwise)

This commit is contained in:
Alexey Kudravtsev
2018-01-09 18:18:17 +03:00
parent 3cd1e36de3
commit 30b545993c
@@ -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;