mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
assert that if navigation element led to different file, offsets are not passed because they would be invalid in the other file anyway
This commit is contained in:
@@ -55,10 +55,18 @@ public class UsageInfo {
|
||||
else {
|
||||
effectiveStart = startOffset;
|
||||
effectiveEnd = endOffset;
|
||||
if (element != originalElement && originalElement.getContainingFile() == file) {
|
||||
int delta = originalElement.getTextRange().getStartOffset() - elementRange.getStartOffset();
|
||||
effectiveStart += delta;
|
||||
effectiveEnd += delta;
|
||||
if (element != originalElement) {
|
||||
PsiFile originalFile = originalElement.getContainingFile();
|
||||
if (originalFile == file) {
|
||||
int delta = originalElement.getTextRange().getStartOffset() - elementRange.getStartOffset();
|
||||
effectiveStart += delta;
|
||||
effectiveEnd += delta;
|
||||
}
|
||||
else {
|
||||
throw new IllegalArgumentException("element.getNavigationElement() for element "+originalElement+"("+startOffset+", "+endOffset+
|
||||
") from " + originalFile + " led to different file "+file+
|
||||
", thus making passed offsets invalid. Specify -1 for start/end offsets to calculate correct offsets for navigation.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user