From 191bac38a33adf43eb1c1231d8bb028a3abf6590 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 16 Jun 2022 22:01:22 +0900 Subject: [PATCH] Fix 'PsiElement.getReference()' contract for Kotlin PSI (KT-52822) As stated in JavaDoc for 'PsiElement' (formatting is slightly changed): Returns the reference from this PSI element to another PSI element (or elements), if one exists. If the element has multiple associated references, returns the first associated reference. --- .../psi/src/org/jetbrains/kotlin/psi/KtElementImplStub.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImplStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImplStub.java index 84f5ee7c916..818c6852d45 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImplStub.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImplStub.java @@ -104,8 +104,7 @@ public class KtElementImplStub> extends StubBasedPsiEle @SuppressWarnings("deprecation") public PsiReference getReference() { PsiReference[] references = getReferences(); - if (references.length == 1) return references[0]; - else return null; + return (references.length > 0) ? references[0] : null; } @NotNull