Skip to content

Commit 3c7511f

Browse files
authored
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
1 parent 75c524e commit 3c7511f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/main/kotlin/platform/mixin/inspection/StaticMemberInspection.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Annotations.INVOKER
2525
import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Annotations.OVERWRITE
2626
import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Annotations.SHADOW
2727
import com.demonwav.mcdev.platform.mixin.util.isMixin
28+
import com.demonwav.mcdev.util.findKeyword
2829
import com.intellij.codeInsight.intention.QuickFixFactory
2930
import com.intellij.codeInspection.ProblemsHolder
3031
import com.intellij.psi.JavaElementVisitor
@@ -54,8 +55,14 @@ class StaticMemberInspection : MixinInspection() {
5455

5556
private fun visitMember(member: PsiMember) {
5657
if (isProblematic(member)) {
58+
val accessModifier = when {
59+
member.hasModifierProperty(PsiModifier.PUBLIC) -> PsiModifier.PUBLIC
60+
member.hasModifierProperty(PsiModifier.PROTECTED) -> PsiModifier.PROTECTED
61+
member.hasModifierProperty(PsiModifier.PRIVATE) -> PsiModifier.PRIVATE
62+
else -> PsiModifier.PACKAGE_LOCAL
63+
}
5764
holder.registerProblem(
58-
member,
65+
member.modifierList?.findKeyword(accessModifier) ?: member,
5966
"Non-private static members are not allowed in Mixin classes",
6067
QuickFixFactory.getInstance().createModifierListFix(member, PsiModifier.PRIVATE, true, false),
6168
)

0 commit comments

Comments
 (0)