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
60 lines
1.8 KiB
Plaintext
Vendored
60 lines
1.8 KiB
Plaintext
Vendored
FILE: casts.kt
|
|
public final fun test_1(x: R|kotlin/Any?|): R|kotlin/Unit| {
|
|
(R|<local>/x| as R|kotlin/String|)
|
|
R|<local>/x|.R|kotlin/String.length|
|
|
}
|
|
public final fun test_2(x: R|kotlin/Any?|): R|kotlin/Unit| {
|
|
when () {
|
|
(R|<local>/x| as R|kotlin/Boolean|) -> {
|
|
R|<local>/x|.R|kotlin/Boolean.not|()
|
|
}
|
|
}
|
|
|
|
R|<local>/x|.R|kotlin/Boolean.not|()
|
|
}
|
|
public final fun test_3(b: R|kotlin/Boolean|, x: R|kotlin/Any?|): R|kotlin/Unit| {
|
|
when () {
|
|
R|<local>/b| && (R|<local>/x| as R|kotlin/Boolean|) -> {
|
|
R|<local>/x|.R|kotlin/Boolean.not|()
|
|
}
|
|
}
|
|
|
|
R|<local>/x|.<Unresolved name: not>#()
|
|
when () {
|
|
R|<local>/b| && ==((R|<local>/x| as R|kotlin/Boolean|), Boolean(true)) -> {
|
|
R|<local>/x|.R|kotlin/Boolean.not|()
|
|
}
|
|
}
|
|
|
|
R|<local>/x|.<Unresolved name: not>#()
|
|
when () {
|
|
R|<local>/b| || (R|<local>/x| as R|kotlin/Boolean|) -> {
|
|
R|<local>/x|.<Unresolved name: not>#()
|
|
}
|
|
}
|
|
|
|
R|<local>/x|.<Unresolved name: not>#()
|
|
}
|
|
public final fun test_4(b: R|kotlin/Any|): R|kotlin/Unit| {
|
|
when () {
|
|
!=((R|<local>/b| as? R|kotlin/Boolean|), Null(null)) -> {
|
|
R|<local>/b|.R|kotlin/Boolean.not|()
|
|
}
|
|
else -> {
|
|
R|<local>/b|.<Unresolved name: not>#()
|
|
}
|
|
}
|
|
|
|
R|<local>/b|.<Unresolved name: not>#()
|
|
when () {
|
|
==((R|<local>/b| as? R|kotlin/Boolean|), Null(null)) -> {
|
|
R|<local>/b|.<Unresolved name: not>#()
|
|
}
|
|
else -> {
|
|
R|<local>/b|.R|kotlin/Boolean.not|()
|
|
}
|
|
}
|
|
|
|
R|<local>/b|.<Unresolved name: not>#()
|
|
}
|