User: llamalad7 Date: 23 Dec 25 13:37 Revision: 3f627fad91eff95a3927b9a790d9575b7a9221c6 Summary: Fix: Allow Local classes and inner classes in mixins. (#2561) They in fact are allowed. TeamCity URL: http://ci.mcdev.io:80/viewModification.html?tab=vcsModificationFiles&modId=10371&personal=false Index: src/main/kotlin/platform/mixin/inspection/MixinInnerClassInspection.kt =================================================================== --- src/main/kotlin/platform/mixin/inspection/MixinInnerClassInspection.kt (revision 2c9cf2476b8192824d1a1271332c83418c911be9) +++ src/main/kotlin/platform/mixin/inspection/MixinInnerClassInspection.kt (revision 3f627fad91eff95a3927b9a790d9575b7a9221c6) @@ -29,7 +29,6 @@ import com.intellij.psi.PsiClass import com.intellij.psi.PsiElementVisitor import com.intellij.psi.PsiModifier -import com.intellij.psi.util.PsiUtil import com.intellij.psi.util.parentOfType class MixinInnerClassInspection : MixinInspection() { @@ -41,15 +40,6 @@ private class Visitor(private val holder: ProblemsHolder) : JavaElementVisitor() { override fun visitClass(psiClass: PsiClass) { - if (psiClass.containingClass == null && PsiUtil.isLocalClass(psiClass) && psiClass.parentOfType()?.isMixin == true) { - holder.registerProblem( - psiClass.nameIdentifier ?: psiClass, - "Local classes are not allowed inside mixins" - ) - - return - } - val outerClass = psiClass.containingClass ?: return if (!outerClass.isMixin) { if (outerClass is PsiAnonymousClass && outerClass.parentOfType()?.isMixin == true) { @@ -72,11 +62,6 @@ QuickFixFactory.getInstance().createModifierListFix(psiClass, PsiModifier.STATIC, true, false), ) } - } else { - holder.registerProblem( - psiClass.nameIdentifier ?: psiClass, - "Inner classes are only allowed if they are also @Mixin classes" - ) } } Index: src/test/kotlin/platform/mixin/InnerClassTest.kt =================================================================== --- src/test/kotlin/platform/mixin/InnerClassTest.kt (revision 2c9cf2476b8192824d1a1271332c83418c911be9) +++ src/test/kotlin/platform/mixin/InnerClassTest.kt (revision 3f627fad91eff95a3927b9a790d9575b7a9221c6) @@ -62,8 +62,8 @@ }; } - private static void localClassBad() { - class Local { + private static void localClassOk() { + class Local { } } @@ -77,7 +77,7 @@ } - class VeryBadInnerClass { + class InnerClassOk { }