[FE, Java resolve] Support inheritors of sealed Java type without permits clause

This fixes a false negative NO_ELSE_IN_WHEN in K2 and incidentally
also fixes a false positive NO_ELSE_IN_WHEN in K1 since the fix is in
the common code.

#KT-62491 Fixed
This commit is contained in:
Kirill Rakhman
2023-10-24 10:00:18 +02:00
committed by Space Team
parent 15d3bf5e25
commit ac203591e5
22 changed files with 291 additions and 21 deletions
@@ -162,7 +162,7 @@ class MockKotlinClassifier(override val classId: ClassId,
override val isEnum get() = shouldNotBeCalled()
override val isRecord get() = shouldNotBeCalled()
override val isSealed: Boolean get() = shouldNotBeCalled()
override val permittedTypes: Collection<JavaClassifierType> get() = shouldNotBeCalled()
override val permittedTypes: Sequence<JavaClassifierType> get() = shouldNotBeCalled()
override val methods get() = shouldNotBeCalled()
override val fields get() = shouldNotBeCalled()
override val constructors get() = shouldNotBeCalled()
@@ -71,7 +71,7 @@ class FakeSymbolBasedClass(
override val isSealed: Boolean get() = false
override val permittedTypes: Collection<JavaClassifierType> get() = emptyList()
override val permittedTypes: Sequence<JavaClassifierType> get() = emptySequence()
override val lightClassOriginKind: LightClassOriginKind? get() = null
@@ -111,8 +111,8 @@ class SymbolBasedClass(
override val isSealed: Boolean
get() = false
override val permittedTypes: Collection<JavaClassifierType>
get() = emptyList()
override val permittedTypes: Sequence<JavaClassifierType>
get() = emptySequence()
override val lightClassOriginKind: LightClassOriginKind?
get() = null
@@ -125,8 +125,8 @@ class TreeBasedClass(
override val isSealed: Boolean
get() = false
override val permittedTypes: Collection<JavaClassifierType>
get() = emptyList()
override val permittedTypes: Sequence<JavaClassifierType>
get() = emptySequence()
override val lightClassOriginKind: LightClassOriginKind?
get() = null