[FE] Temporary disable exhaustiveness checker for java sealed classes
KT-43551 KT-41215
This commit is contained in:
committed by
TeamCityServer
parent
1c9f9130e6
commit
f8d6f79c17
Vendored
+2
-2
@@ -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
|
||||
|
||||
Vendored
+2
-2
@@ -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
|
||||
|
||||
Vendored
+2
-2
@@ -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
|
||||
|
||||
Vendored
+2
-2
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
Vendored
+1
-1
@@ -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
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user