[FE] Temporary disable exhaustiveness checker for java sealed classes

KT-43551
KT-41215
This commit is contained in:
Dmitriy Novozhilov
2020-11-24 12:30:37 +03:00
committed by TeamCityServer
parent 1c9f9130e6
commit f8d6f79c17
7 changed files with 12 additions and 11 deletions
@@ -16,14 +16,14 @@ public sealed class B extends Base permits B.C, B.D {
// FILE: main.kt
fun test_ok_1(base: Base) {
val x = when (base) {
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
is A -> 1
is B -> 2
}
}
fun test_ok_2(base: Base) {
val x = when (base) {
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
is A -> 1
is B.C -> 2
is B.D -> 3
@@ -12,7 +12,7 @@ public final class A : Base {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public sealed class B : Base {
public abstract class B : Base {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -33,7 +33,7 @@ public sealed class B : Base {
}
}
public sealed class Base {
public abstract class Base {
public constructor Base()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -21,7 +21,7 @@ public enum E implements Base {
// FILE: main.kt
fun test_ok_1(base: Base) {
val x = when (base) {
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
is A -> 1
is B -> 2
is E -> 3
@@ -29,7 +29,7 @@ fun test_ok_1(base: Base) {
}
fun test_ok_2(base: Base) {
val x = when (base) {
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
is A -> 1
is B.C -> 2
is B.D -> 3
@@ -12,7 +12,7 @@ public interface A : Base {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public sealed interface B : Base {
public interface B : Base {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -31,7 +31,7 @@ public sealed interface B : Base {
}
}
public sealed interface Base {
public interface Base {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -14,7 +14,7 @@ public final class B : Base {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public sealed class Base {
public abstract class Base {
public constructor Base()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -14,7 +14,7 @@ public final class B : Base {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public sealed interface Base {
public interface Base {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -76,7 +76,8 @@ class LazyJavaClassDescriptor(
private val modality =
if (jClass.isAnnotationType || jClass.isEnum) Modality.FINAL
else Modality.convertFromFlags(jClass.isSealed, jClass.isAbstract || jClass.isInterface, !jClass.isFinal)
// TODO: replace false with jClass.isSealed when it will be properly supported in platform
else Modality.convertFromFlags(sealed = false, jClass.isSealed || jClass.isAbstract || jClass.isInterface, !jClass.isFinal)
private val visibility = jClass.visibility
private val isInner = jClass.outerClass != null && !jClass.isStatic