Skip to content

Commit 837b0e0

Browse files
committed
New: Support Enum extensions.
1 parent 5abb4ea commit 837b0e0

3 files changed

Lines changed: 8 additions & 2 deletions

File tree

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ package com.demonwav.mcdev.platform.mixin.inspection
2222

2323
import com.demonwav.mcdev.platform.mixin.util.hasAccess
2424
import com.demonwav.mcdev.platform.mixin.util.isAccessorMixin
25+
import com.demonwav.mcdev.platform.mixin.util.isFabricMixin
2526
import com.demonwav.mcdev.platform.mixin.util.isMixin
2627
import com.demonwav.mcdev.platform.mixin.util.mixinTargets
2728
import com.intellij.codeInspection.LocalQuickFix
@@ -68,7 +69,7 @@ class MixinClassTypeInspection : MixinInspection() {
6869
}
6970
}
7071

71-
if (mixinClass.isEnum) {
72+
if (mixinClass.isEnum && !mixinClass.isFabricMixin) {
7273
holder.registerProblem(problemElement, "Mixins cannot be enums", *fixes.toTypedArray())
7374
return
7475
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import com.intellij.codeInsight.intention.QuickFixFactory
3030
import com.intellij.codeInspection.ProblemsHolder
3131
import com.intellij.psi.JavaElementVisitor
3232
import com.intellij.psi.PsiElementVisitor
33+
import com.intellij.psi.PsiEnumConstant
3334
import com.intellij.psi.PsiField
3435
import com.intellij.psi.PsiMember
3536
import com.intellij.psi.PsiMethod
@@ -71,7 +72,7 @@ class StaticMemberInspection : MixinInspection() {
7172

7273
private fun isProblematic(member: PsiMember): Boolean {
7374
val containingClass = member.containingClass ?: return false
74-
if (!containingClass.isMixin) {
75+
if (!containingClass.isMixin || member is PsiEnumConstant) {
7576
return false
7677
}
7778

src/main/kotlin/platform/mixin/inspection/addedMembers/MissingUniqueAnnotationInspection.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,17 @@ import com.demonwav.mcdev.platform.mixin.util.MixinConstants
2424
import com.intellij.codeInsight.intention.AddAnnotationModCommandAction
2525
import com.intellij.codeInspection.LocalQuickFix
2626
import com.intellij.codeInspection.ProblemsHolder
27+
import com.intellij.psi.PsiEnumConstant
2728
import com.intellij.psi.PsiField
2829
import com.intellij.psi.PsiMethod
2930

3031
class MissingUniqueAnnotationInspection : AbstractAddedMembersInspection() {
3132
override fun getStaticDescription() = "Reports missing @Unique annotations"
3233

3334
override fun visitAddedField(holder: ProblemsHolder, field: PsiField) {
35+
if (field is PsiEnumConstant) {
36+
return
37+
}
3438
if (!field.hasAnnotation(MixinConstants.Annotations.UNIQUE)) {
3539
holder.registerProblem(
3640
field.nameIdentifier,

0 commit comments

Comments
 (0)