Skip to content

Commit d7d6af1

Browse files
authored
Fix: Check all annotations for targets in LocalArgsOnlyInspection. (#2529)
Currently, only the first one is checked, which is particularly noticeable with Expressions since those normally involve other annotations preceding the injector.
1 parent bf56eb7 commit d7d6af1

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/main/kotlin/platform/mixin/inspection/mixinextras/LocalArgsOnlyInspection.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import com.demonwav.mcdev.platform.mixin.util.MixinConstants
2929
import com.demonwav.mcdev.platform.mixin.util.MixinConstants.MixinExtras.unwrapLocalRef
3030
import com.demonwav.mcdev.util.constantValue
3131
import com.demonwav.mcdev.util.findContainingMethod
32-
import com.demonwav.mcdev.util.mapFirstNotNull
32+
import com.demonwav.mcdev.util.ifEmpty
3333
import com.intellij.codeInspection.ProblemsHolder
3434
import com.intellij.psi.JavaElementVisitor
3535
import com.intellij.psi.PsiAnnotation
@@ -52,15 +52,15 @@ class LocalArgsOnlyInspection : MixinInspection() {
5252
val parameter = localAnnotation.parentOfType<PsiParameter>() ?: return
5353
val method = parameter.findContainingMethod() ?: return
5454

55-
val targets = method.annotations.mapFirstNotNull { annotation ->
55+
val targets = method.annotations.flatMap { annotation ->
5656
MixinAnnotationHandler.resolveTarget(annotation).asSequence()
5757
.filterIsInstance<MethodTargetMember>()
5858
.map { it.classAndMethod }
59-
} ?: return
59+
}.ifEmpty { return }
6060

6161
val localType = parameter.type.unwrapLocalRef()
6262

63-
if (ModifyVariableArgsOnlyInspection.shouldReport(localAnnotation, localType, targets)) {
63+
if (ModifyVariableArgsOnlyInspection.shouldReport(localAnnotation, localType, targets.asSequence())) {
6464
holder.registerProblem(
6565
localAnnotation.nameReferenceElement ?: localAnnotation,
6666
"@Local may be argsOnly = true",

0 commit comments

Comments
 (0)