User: nilsen84 Date: 14 Nov 22 00:22 Revision: 4041be848225d64c78051c358da2fe10a425b575 Summary: Autocomplete method references in array format TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8308&personal=false Index: src/main/kotlin/platform/mixin/reference/MethodReference.kt =================================================================== --- src/main/kotlin/platform/mixin/reference/MethodReference.kt (revision b70698fce440754f1f368fad6f833658f02cbac0) +++ src/main/kotlin/platform/mixin/reference/MethodReference.kt (revision 4041be848225d64c78051c358da2fe10a425b575) @@ -26,17 +26,20 @@ object MethodReference : AbstractMethodReference() { val ELEMENT_PATTERN: ElementPattern = - PsiJavaPatterns.psiLiteral(StandardPatterns.string()).insideAnnotationAttribute( + PsiJavaPatterns.psiLiteral(StandardPatterns.string()).withAncestor( + 1, + PsiJavaPatterns.psiElement().insideAnnotationAttribute( - PsiJavaPatterns.psiAnnotation().with( - object : PatternCondition("injector") { - override fun accepts(t: PsiAnnotation, context: ProcessingContext?): Boolean { - val qName = t.qualifiedName ?: return false + PsiJavaPatterns.psiAnnotation().with( + object : PatternCondition("injector") { + override fun accepts(t: PsiAnnotation, context: ProcessingContext?): Boolean { + val qName = t.qualifiedName ?: return false - return MixinAnnotationHandler.forMixinAnnotation(qName, t.project) is InjectorAnnotationHandler + return isValidAnnotation(qName, t.project) - } - } - ), - "method" - ) + } + } + ), + "method" + ) + ) override val description = "method '%s' in target class"