e6b5cb5216
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
46 lines
1.1 KiB
Plaintext
Vendored
46 lines
1.1 KiB
Plaintext
Vendored
FILE: exhaustiveness_sealedObject.kt
|
|
public sealed class A : R|kotlin/Any| {
|
|
private constructor(): R|A| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class B : R|A| {
|
|
public constructor(): R|B| {
|
|
super<R|A|>()
|
|
}
|
|
|
|
}
|
|
public final object C : R|A| {
|
|
private constructor(): R|C| {
|
|
super<R|A|>()
|
|
}
|
|
|
|
}
|
|
public final fun takeString(s: R|kotlin/String|): R|kotlin/Unit| {
|
|
}
|
|
public final fun test_1(a: R|A|): R|kotlin/Unit| {
|
|
lval s: R|kotlin/String| = when (R|<local>/a|) {
|
|
($subj$ is R|B|) -> {
|
|
String()
|
|
}
|
|
($subj$ is R|C|) -> {
|
|
String()
|
|
}
|
|
}
|
|
|
|
R|/takeString|(R|<local>/s|)
|
|
}
|
|
public final fun test_2(a: R|A|): R|kotlin/Unit| {
|
|
lval s: R|kotlin/String| = when (R|<local>/a|) {
|
|
($subj$ is R|B|) -> {
|
|
String()
|
|
}
|
|
==($subj$, Q|C|) -> {
|
|
String()
|
|
}
|
|
}
|
|
|
|
R|/takeString|(R|<local>/s|)
|
|
}
|