User: llamalad7 Date: 25 Jun 25 21:56 Revision: d192c92da162c3a72b1779514c406d173c878b05 Summary: Perf: Check `canEverMatch` in MixinSelector.matchMethod/Field TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=10096&personal=false Index: src/main/kotlin/platform/mixin/reference/MixinSelectors.kt =================================================================== --- src/main/kotlin/platform/mixin/reference/MixinSelectors.kt (revision 7a45212cab51e8755d04af9f5617e816a0075cb5) +++ src/main/kotlin/platform/mixin/reference/MixinSelectors.kt (revision d192c92da162c3a72b1779514c406d173c878b05) @@ -105,6 +105,9 @@ fun matchMethod(owner: String, name: String, desc: String): Boolean fun matchField(field: PsiField, qualifier: PsiClass): Boolean { + if (!canEverMatch(field.name)) { + return false + } val fqn = qualifier.fullQualifiedName ?: return false val desc = field.descriptor ?: return false return matchField(fqn.replace('.', '/'), field.name, desc) @@ -115,6 +118,9 @@ } fun matchMethod(method: PsiMethod, qualifier: PsiClass): Boolean { + if (!canEverMatch(method.name)) { + return false + } val fqn = qualifier.fullQualifiedName ?: return false val desc = method.descriptor ?: return false return matchMethod(fqn.replace('.', '/'), method.internalName, desc)