blob: 21564e661cf807f2ac3169d83ac7ff3404d951c8 [file] [log] [blame]
== foo ==
fun foo(a: Number) {
val t = when (a) {
1 -> "1"
in Collections.singleton(2) -> "2"
is Int -> "Int"
!in Collections.singleton(3) -> "!3"
!is Number -> "!Number"
else -> null
}
}
---------------------
<v0>: {<: Number} NEW: magic[FAKE_INITIALIZER](a: Number) -> <v0>
a <v1>: Int! NEW: r(a) -> <v1>
1 <v2>: * NEW: r(1) -> <v2>
1 <v3>: * NEW: magic[EQUALS_IN_WHEN_CONDITION](1|<v1>, <v2>) -> <v3>
"1" <v4>: {<: String?} NEW: r("1") -> <v4>
2 <v5>: Int! NEW: r(2) -> <v5>
singleton(2) <v6>: OR{{<: Collection<Int!>}, {<: Collection<Int!>}} NEW: call(singleton(2), singleton|<v5>) -> <v6>
Collections.singleton(2) <v6>: OR{{<: Collection<Int!>}, {<: Collection<Int!>}} COPY
in Collections.singleton(2) <v7>: * NEW: call(in Collections.singleton(2), contains|<v6>, <v1>) -> <v7>
"2" <v8>: {<: String?} NEW: r("2") -> <v8>
is Int <v9>: * NEW: magic[IS](is Int|<v1>) -> <v9>
"Int" <v10>: {<: String?} NEW: r("Int") -> <v10>
3 <v11>: Int! NEW: r(3) -> <v11>
singleton(3) <v12>: OR{{<: Collection<Int!>}, {<: Collection<Int!>}} NEW: call(singleton(3), singleton|<v11>) -> <v12>
Collections.singleton(3) <v12>: OR{{<: Collection<Int!>}, {<: Collection<Int!>}} COPY
!in Collections.singleton(3) <v13>: * NEW: call(!in Collections.singleton(3), contains|<v12>, <v1>) -> <v13>
"!3" <v14>: {<: String?} NEW: r("!3") -> <v14>
!is Number <v15>: * NEW: magic[IS](!is Number|<v1>) -> <v15>
"!Number" <v16>: {<: String?} NEW: r("!Number") -> <v16>
null <v17>: {<: String?} NEW: r(null) -> <v17>
when (a) { 1 -> "1" in Collections.singleton(2) -> "2" is Int -> "Int" !in Collections.singleton(3) -> "!3" !is Number -> "!Number" else -> null } <v18>: {<: String?} NEW: merge(when (a) { 1 -> "1" in Collections.singleton(2) -> "2" is Int -> "Int" !in Collections.singleton(3) -> "!3" !is Number -> "!Number" else -> null }|<v4>, <v8>, <v10>, <v14>, <v16>, <v17>) -> <v18>
=====================