[uast] add UCallExpressionPattern.withMethodName(String) (IDEA-CR-28149)

This commit is contained in:
Yann Cébron
2018-01-08 17:12:05 +01:00
parent 52bd45c9b2
commit 0a017befcb
@@ -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<UCallExpression, UCallExpressionP
fun withReceiver(classPattern: ElementPattern<PsiClass>) =
filter { (it.receiverType as? PsiClassType)?.resolve()?.let { classPattern.accepts(it) } ?: false }
fun withMethodName(methodName : String) = withMethodName(string().equalTo(methodName))
fun withMethodName(namePattern: ElementPattern<String>) = filter { it.methodName?.let { namePattern.accepts(it) } ?: false }
}