From f385726405b95a5557f14eacdd77ffc944d2317c Mon Sep 17 00:00:00 2001 From: Yuriy Artamonov Date: Mon, 16 Sep 2019 13:18:43 +0300 Subject: [PATCH] UAST: JavaUMethod uastAnchor must return element from library source if its sourcePsi is in library source file GitOrigin-RevId: 6bd321130bd6d27202cffd4345d7935f97ce01cc --- .../src/org/jetbrains/uast/java/declarations/JavaUMethod.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUMethod.kt b/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUMethod.kt index d2ec98b29595..ac2b4f978c75 100644 --- a/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUMethod.kt +++ b/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUMethod.kt @@ -33,7 +33,9 @@ open class JavaUMethod( override val uastAnchor: UIdentifier? get() { - val psiElement = (sourcePsi.originalElement as? PsiNameIdentifierOwner)?.nameIdentifier ?: sourcePsi.nameIdentifier + val psiElement = (sourcePsi as? PsiNameIdentifierOwner)?.nameIdentifier // return elements of library sources, do not switch to binary + ?: (sourcePsi.originalElement as? PsiNameIdentifierOwner)?.nameIdentifier + ?: sourcePsi.nameIdentifier if (psiElement?.isPhysical != true) return null // hah there is a Lombok and we have fake PsiElements even in Java (IDEA-216248) return UIdentifier(psiElement, this) }