mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
do not generate invalid ranges for light psi (IDEA-154614)
This commit is contained in:
+8
-11
@@ -255,17 +255,14 @@ public class ConstructorReferencesSearchHelper {
|
||||
|
||||
@Override
|
||||
public TextRange getRangeInElement() {
|
||||
if (usage instanceof PsiClass) {
|
||||
PsiIdentifier identifier = ((PsiClass)usage).getNameIdentifier();
|
||||
if (identifier != null) return TextRange.from(identifier.getStartOffsetInParent(), identifier.getTextLength());
|
||||
}
|
||||
else if (usage instanceof PsiField) {
|
||||
PsiIdentifier identifier = ((PsiField)usage).getNameIdentifier();
|
||||
return TextRange.from(identifier.getStartOffsetInParent(), identifier.getTextLength());
|
||||
}
|
||||
else if (usage instanceof PsiMethod) {
|
||||
PsiIdentifier identifier = ((PsiMethod)usage).getNameIdentifier();
|
||||
if (identifier != null) return TextRange.from(identifier.getStartOffsetInParent(), identifier.getTextLength());
|
||||
if (usage instanceof PsiNameIdentifierOwner) {
|
||||
PsiElement identifier = ((PsiNameIdentifierOwner)usage).getNameIdentifier();
|
||||
if (identifier != null) {
|
||||
final int startOffsetInParent = identifier.getStartOffsetInParent();
|
||||
if (startOffsetInParent >= 0) { // -1 for light elements generated e.g. by lombok
|
||||
return TextRange.from(startOffsetInParent, identifier.getTextLength());
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.getRangeInElement();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user