Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/smartcasts/casts.fir.txt
T
Dmitriy Novozhilov e6b5cb5216 [TD] Update diagnostics test data due to new test runners
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
2020-12-16 19:52:25 +03:00

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>#()
}