[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
|
// FILE: main.kt
|
||||||
fun test_ok_1(base: Base) {
|
fun test_ok_1(base: Base) {
|
||||||
val x = when (base) {
|
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
|
||||||
is A -> 1
|
is A -> 1
|
||||||
is B -> 2
|
is B -> 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun test_ok_2(base: Base) {
|
fun test_ok_2(base: Base) {
|
||||||
val x = when (base) {
|
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
|
||||||
is A -> 1
|
is A -> 1
|
||||||
is B.C -> 2
|
is B.C -> 2
|
||||||
is B.D -> 3
|
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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class B : Base {
|
public abstract class B : Base {
|
||||||
public constructor B()
|
public constructor B()
|
||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
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 hashCode(): kotlin.Int
|
||||||
@@ -33,7 +33,7 @@ public sealed class B : Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class Base {
|
public abstract class Base {
|
||||||
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
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
|
// FILE: main.kt
|
||||||
fun test_ok_1(base: Base) {
|
fun test_ok_1(base: Base) {
|
||||||
val x = when (base) {
|
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
|
||||||
is A -> 1
|
is A -> 1
|
||||||
is B -> 2
|
is B -> 2
|
||||||
is E -> 3
|
is E -> 3
|
||||||
@@ -29,7 +29,7 @@ fun test_ok_1(base: Base) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun test_ok_2(base: Base) {
|
fun test_ok_2(base: Base) {
|
||||||
val x = when (base) {
|
val x = <!NO_ELSE_IN_WHEN!>when<!> (base) {
|
||||||
is A -> 1
|
is A -> 1
|
||||||
is B.C -> 2
|
is B.C -> 2
|
||||||
is B.D -> 3
|
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 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class Base {
|
public abstract class Base {
|
||||||
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
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 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|||||||
+2
-1
@@ -76,7 +76,8 @@ class LazyJavaClassDescriptor(
|
|||||||
|
|
||||||
private val modality =
|
private val modality =
|
||||||
if (jClass.isAnnotationType || jClass.isEnum) Modality.FINAL
|
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 visibility = jClass.visibility
|
||||||
private val isInner = jClass.outerClass != null && !jClass.isStatic
|
private val isInner = jClass.outerClass != null && !jClass.isStatic
|
||||||
|
|||||||
Reference in New Issue
Block a user