[AA decompiler] Store sealed modifiers in interface stubs

- If the `sealed` modifier is not kept in the interface's stub, a
  sealed interface will have an `abstract` modality instead, which
  causes issues with `when` exhaustiveness analysis in K2.
- This issue also affected K1, but it was less visible there because
  `when` exhaustiveness analysis in K1 uses deserialized descriptors.

^KT-62895
This commit is contained in:
Marco Pennekamp
2024-01-04 19:11:15 +01:00
committed by Space Team
parent 5797b4877c
commit bace053ea9
4 changed files with 13 additions and 2 deletions
@@ -3,7 +3,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=test]
IMPORT_LIST
CLASS[classId=test/SealedInterface, fqName=test.SealedInterface, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=true, name=SealedInterface, superNames=[]]
MODIFIER_LIST[public]
MODIFIER_LIST[public sealed]
CLASS_BODY
CLASS[classId=test/SealedInterface.Nested, fqName=test.SealedInterface.Nested, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Nested, superNames=[SealedInterface]]
MODIFIER_LIST[public final]