Use kotlin specific methods for pattern creation
This commit is contained in:
@@ -3,10 +3,10 @@
|
|||||||
<injection language="RegExp" injector-id="kotlin">
|
<injection language="RegExp" injector-id="kotlin">
|
||||||
<display-name>Kotlin</display-name>
|
<display-name>Kotlin</display-name>
|
||||||
<place><![CDATA[
|
<place><![CDATA[
|
||||||
psiParameter().ofMethod(0, psiMethod().withName("Regex").definedInClass("kotlin.text.Regex"))
|
kotlinParameter().ofFunction(0, kotlinFunction().withName("Regex").definedInClass("kotlin.text.Regex"))
|
||||||
]]></place>
|
]]></place>
|
||||||
<place><![CDATA[
|
<place><![CDATA[
|
||||||
receiver().ofMethod(psiMethod().withName("toRegex").withReceiver("kotlin.String").definedInPackage("kotlin.text"))
|
receiver().ofFunction(kotlinFunction().withName("toRegex").withReceiver("kotlin.String").definedInPackage("kotlin.text"))
|
||||||
]]></place>
|
]]></place>
|
||||||
</injection>
|
</injection>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
|||||||
// Methods in this class are used through reflection
|
// Methods in this class are used through reflection
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
object KotlinPatterns: StandardPatterns() {
|
object KotlinPatterns: StandardPatterns() {
|
||||||
@JvmStatic fun psiParameter() = KtParameterPattern()
|
@JvmStatic fun kotlinParameter() = KtParameterPattern()
|
||||||
@JvmStatic fun psiMethod() = KotlinFunctionPattern()
|
@JvmStatic fun kotlinFunction() = KotlinFunctionPattern()
|
||||||
@JvmStatic fun receiver() = KotlinReceiverPattern()
|
@JvmStatic fun receiver() = KotlinReceiverPattern()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ open class KotlinFunctionPattern : PsiElementPattern<KtFunction, KotlinFunctionP
|
|||||||
// Methods in this class are used through reflection during pattern construction
|
// Methods in this class are used through reflection during pattern construction
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
class KtParameterPattern : PsiElementPattern<KtParameter, KtParameterPattern>(KtParameter::class.java) {
|
class KtParameterPattern : PsiElementPattern<KtParameter, KtParameterPattern>(KtParameter::class.java) {
|
||||||
fun ofMethod(index: Int, pattern: ElementPattern<Any>): KtParameterPattern {
|
fun ofFunction(index: Int, pattern: ElementPattern<Any>): KtParameterPattern {
|
||||||
return with(object : PatternConditionPlus<KtParameter, KtFunction>("KtParameterPattern-ofMethod", pattern) {
|
return with(object : PatternConditionPlus<KtParameter, KtFunction>("KtParameterPattern-ofMethod", pattern) {
|
||||||
override fun processValues(ktParameter: KtParameter,
|
override fun processValues(ktParameter: KtParameter,
|
||||||
context: ProcessingContext,
|
context: ProcessingContext,
|
||||||
@@ -128,7 +128,7 @@ class KtParameterPattern : PsiElementPattern<KtParameter, KtParameterPattern>(Kt
|
|||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
class KotlinReceiverPattern : PsiElementPattern<KtTypeReference, KotlinReceiverPattern>(KtTypeReference::class.java) {
|
class KotlinReceiverPattern : PsiElementPattern<KtTypeReference, KotlinReceiverPattern>(KtTypeReference::class.java) {
|
||||||
fun ofMethod(pattern: ElementPattern<Any>): KotlinReceiverPattern {
|
fun ofFunction(pattern: ElementPattern<Any>): KotlinReceiverPattern {
|
||||||
return with(object : PatternConditionPlus<KtTypeReference, KtFunction>("KtReceiverPattern-ofMethod", pattern) {
|
return with(object : PatternConditionPlus<KtTypeReference, KtFunction>("KtReceiverPattern-ofMethod", pattern) {
|
||||||
override fun processValues(typeReference: KtTypeReference, context: ProcessingContext?, processor: PairProcessor<KtFunction, ProcessingContext>): Boolean {
|
override fun processValues(typeReference: KtTypeReference, context: ProcessingContext?, processor: PairProcessor<KtFunction, ProcessingContext>): Boolean {
|
||||||
return processor.process(typeReference.parent as? KtFunction, context)
|
return processor.process(typeReference.parent as? KtFunction, context)
|
||||||
|
|||||||
Reference in New Issue
Block a user