2d5b685535
- Allow declaring protected constructors in sealed classes - Make default visibility of sealed class constructor `protected` KT-44861 KT-44865
33 lines
722 B
Plaintext
Vendored
33 lines
722 B
Plaintext
Vendored
FILE: kt37327.kt
|
|
public abstract interface Q : R|kotlin/Any| {
|
|
}
|
|
public sealed class A : R|Q| {
|
|
protected constructor(): R|A| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class B : R|A| {
|
|
public constructor(x: R|kotlin/Int|): R|B| {
|
|
super<R|A|>()
|
|
}
|
|
|
|
public final val x: R|kotlin/Int| = R|<local>/x|
|
|
public get(): R|kotlin/Int|
|
|
|
|
}
|
|
public final fun R|Q|.foo(): R|kotlin/Unit| {
|
|
when () {
|
|
(this@R|/foo| !is R|A|) -> {
|
|
^foo Unit
|
|
}
|
|
}
|
|
|
|
when (this@R|/foo|) {
|
|
($subj$ is R|B|) -> {
|
|
this@R|/foo|.R|/B.x|
|
|
}
|
|
}
|
|
|
|
}
|