提交 f8d6f79c 编写于 作者: D Dmitriy Novozhilov 提交者: TeamCityServer

[FE] Temporary disable exhaustiveness checker for java sealed classes

KT-43551
KT-41215
上级 1c9f9130
...@@ -16,14 +16,14 @@ public sealed class B extends Base permits B.C, B.D { ...@@ -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
......
...@@ -12,7 +12,7 @@ public final class A : Base { ...@@ -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 { ...@@ -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
......
...@@ -21,7 +21,7 @@ public enum E implements Base { ...@@ -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) { ...@@ -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
......
...@@ -12,7 +12,7 @@ public interface A : Base { ...@@ -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 { ...@@ -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
......
...@@ -14,7 +14,7 @@ public final class B : Base { ...@@ -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
......
...@@ -14,7 +14,7 @@ public final class B : Base { ...@@ -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
......
...@@ -76,7 +76,8 @@ class LazyJavaClassDescriptor( ...@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册