Distinguish classes from different sourcesets in SealedInheritorInSameModuleChecker
#KT-45848 Fixed #KT-46031
This commit is contained in:
committed by
TeamCityServer
parent
66e4d5664a
commit
803d47daaa
+19
@@ -0,0 +1,19 @@
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
// ISSUE: KT-45848
|
||||
// MODULE: m1-common
|
||||
|
||||
sealed class Base
|
||||
|
||||
class Derived : Base()
|
||||
|
||||
fun test_1(b: Base) = when (b) {
|
||||
is Derived -> 1
|
||||
}
|
||||
|
||||
// MODULE: m1-jvm(m1-common)
|
||||
|
||||
class PlatfromDerived : Base() // must be an error
|
||||
|
||||
fun test_2(b: Base) = when (b) {
|
||||
is Derived -> 1
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
// ISSUE: KT-45848
|
||||
// MODULE: m1-common
|
||||
|
||||
sealed class Base
|
||||
|
||||
class Derived : Base()
|
||||
|
||||
fun test_1(b: Base) = <!NO_ELSE_IN_WHEN{JVM}!>when<!> (b) {
|
||||
is Derived -> 1
|
||||
}
|
||||
|
||||
// MODULE: m1-jvm(m1-common)
|
||||
|
||||
class PlatfromDerived : <!SEALED_INHERITOR_IN_DIFFERENT_MODULE!>Base<!>() // must be an error
|
||||
|
||||
fun test_2(b: Base) = <!NO_ELSE_IN_WHEN!>when<!> (b) {
|
||||
is Derived -> 1
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
// -- Module: <m1-common> --
|
||||
package
|
||||
|
||||
public fun test_1(/*0*/ b: Base): kotlin.Int
|
||||
|
||||
public sealed class Base {
|
||||
protected 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
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class Derived : Base {
|
||||
public constructor Derived()
|
||||
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
|
||||
}
|
||||
|
||||
// -- Module: <m1-jvm> --
|
||||
package
|
||||
|
||||
public fun test_1(/*0*/ b: Base): kotlin.Int
|
||||
public fun test_2(/*0*/ b: Base): kotlin.Int
|
||||
|
||||
public sealed class Base {
|
||||
protected 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
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class Derived : Base {
|
||||
public constructor Derived()
|
||||
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
|
||||
}
|
||||
|
||||
public final class PlatfromDerived : Base {
|
||||
public constructor PlatfromDerived()
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user