User: 7410 Date: 10 Jan 25 13:35 Revision: 3c7511fb0cf2f567040f8092858e8689297451ab Summary: Move non-private static error to the access modifier (when there is one) (#2425) * Move non-private static error to the access modifier (when there is one) * Inline the accessModifier method to not use the Kotlin plugin TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=9804&personal=false Index: src/main/kotlin/platform/mixin/inspection/StaticMemberInspection.kt =================================================================== --- src/main/kotlin/platform/mixin/inspection/StaticMemberInspection.kt (revision 75c524ec36d0ceb58d3e53b7183967feacada8ab) +++ src/main/kotlin/platform/mixin/inspection/StaticMemberInspection.kt (revision 3c7511fb0cf2f567040f8092858e8689297451ab) @@ -25,6 +25,7 @@ import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Annotations.OVERWRITE import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Annotations.SHADOW import com.demonwav.mcdev.platform.mixin.util.isMixin +import com.demonwav.mcdev.util.findKeyword import com.intellij.codeInsight.intention.QuickFixFactory import com.intellij.codeInspection.ProblemsHolder import com.intellij.psi.JavaElementVisitor @@ -54,8 +55,14 @@ private fun visitMember(member: PsiMember) { if (isProblematic(member)) { + val accessModifier = when { + member.hasModifierProperty(PsiModifier.PUBLIC) -> PsiModifier.PUBLIC + member.hasModifierProperty(PsiModifier.PROTECTED) -> PsiModifier.PROTECTED + member.hasModifierProperty(PsiModifier.PRIVATE) -> PsiModifier.PRIVATE + else -> PsiModifier.PACKAGE_LOCAL + } holder.registerProblem( - member, + member.modifierList?.findKeyword(accessModifier) ?: member, "Non-private static members are not allowed in Mixin classes", QuickFixFactory.getInstance().createModifierListFix(member, PsiModifier.PRIVATE, true, false), )