From a56c52151d93a6e18fdfcd9293c8044eda0fb137 Mon Sep 17 00:00:00 2001 From: Yuriy Artamonov Date: Thu, 17 Aug 2023 18:34:52 +0200 Subject: [PATCH] [uast] IDEA-330019 UAST: withUastParentOrSelf patterns are visible in highlighting GitOrigin-RevId: 24370a4be115862737d79f15ae87cc30a79aacf9 --- .../src/com/intellij/patterns/uast/UastPatterns.kt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/uast/uast-common-ide/src/com/intellij/patterns/uast/UastPatterns.kt b/uast/uast-common-ide/src/com/intellij/patterns/uast/UastPatterns.kt index b067a1e489c3..7a2703c77080 100644 --- a/uast/uast-common-ide/src/com/intellij/patterns/uast/UastPatterns.kt +++ b/uast/uast-common-ide/src/com/intellij/patterns/uast/UastPatterns.kt @@ -91,13 +91,10 @@ open class UElementPattern>(clazz: parentPattern.accepts(it, context) || it.uastParent?.let { parentPattern.accepts(it, context) } ?: false } - fun withStringRoomExpressionOrSelf(parentPattern: ElementPattern): Self = filterWithContext { it, context -> - if (it !is UInjectionHost) return@filterWithContext false - - if (parentPattern.accepts(it, context)) return@filterWithContext true - - val room = it.getStringRoomExpression() - if (room === it) return@filterWithContext false + fun withStringRoomExpression(parentPattern: ElementPattern): Self = filterWithContext { it, context -> + if (it !is UExpression) return@filterWithContext false + val uHost = wrapULiteral(it) as? UInjectionHost ?: return@filterWithContext false + val room = uHost.getStringRoomExpression() parentPattern.accepts(room, context) }