diff --git a/uast/uast-common/src/com/intellij/patterns/uast/UastPatterns.kt b/uast/uast-common/src/com/intellij/patterns/uast/UastPatterns.kt index cdad9956ff37..6d74c054bc21 100644 --- a/uast/uast-common/src/com/intellij/patterns/uast/UastPatterns.kt +++ b/uast/uast-common/src/com/intellij/patterns/uast/UastPatterns.kt @@ -9,6 +9,7 @@ import com.intellij.patterns.ElementPattern import com.intellij.patterns.ObjectPattern import com.intellij.patterns.PatternCondition import com.intellij.patterns.StandardPatterns +import com.intellij.patterns.StandardPatterns.string import com.intellij.psi.PsiClass import com.intellij.psi.PsiClassType import com.intellij.psi.PsiElement @@ -52,6 +53,8 @@ class UCallExpressionPattern : UElementPattern) = filter { (it.receiverType as? PsiClassType)?.resolve()?.let { classPattern.accepts(it) } ?: false } + fun withMethodName(methodName : String) = withMethodName(string().equalTo(methodName)) + fun withMethodName(namePattern: ElementPattern) = filter { it.methodName?.let { namePattern.accepts(it) } ?: false } }