mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-05 08:06:56 +07:00
[java-inspection] IDEA-340576 Uncompilable code generated for switch pattern matching
- class, which has permitted list, doesn't have `sealed` modifier, process this class as sealed GitOrigin-RevId: afaccb6f6479c90ad431b9300a586854e89ea204
This commit is contained in:
committed by
intellij-monorepo-bot
parent
43ad0b4707
commit
ed67eee493
@@ -73,10 +73,13 @@ public final class CreateSwitchBranchesUtil {
|
||||
PsiClass selectorClass = PsiUtil.resolveClassInClassTypeOnly(switchExpression != null ? switchExpression.getType() : null);
|
||||
boolean hasSealedClass = selectorClass != null &&
|
||||
(selectorClass.hasModifierProperty(PsiModifier.SEALED) ||
|
||||
selectorClass.getPermitsList() != null ||
|
||||
(selectorClass instanceof PsiTypeParameter typeParameter &&
|
||||
ContainerUtil.exists(typeParameter.getExtendsListTypes(), extType -> {
|
||||
PsiClass psiClass = PsiUtil.resolveClassInClassTypeOnly(extType);
|
||||
return psiClass != null && psiClass.hasModifierProperty(PsiModifier.SEALED);
|
||||
return psiClass != null &&
|
||||
(psiClass.hasModifierProperty(PsiModifier.SEALED) ||
|
||||
psiClass.getPermitsList() != null);
|
||||
})));
|
||||
boolean isPatternsGenerated = selectorClass != null && !selectorClass.isEnum() && hasSealedClass;
|
||||
if (body == null) {
|
||||
|
||||
Reference in New Issue
Block a user