blob: 2873fee043805e3417f45ef27ccc283b6f8524b7 [file] [log] [blame]
// FIR_IGNORE
// WITH_RUNTIME
// foo.a: Int
// │ fun (Int).compareTo(Int): Int
// │ │ foo.b: Int
// Int │ │ │ foo.a: Int
// │ Int │ │ │ │ foo.b: Int
// │ │ │ │ │ │ │
fun foo(a: Int, b: Int) = if (a > b) a else b
fun bar(a: Double, b: Double): Double {
// Nothing
// │ bar.a: Double
// │ │ fun (Double).compareTo(Double): Int
// │ │ │ bar.b: Double
// │ │ │ │
if (a > b) {
// fun io/println(Double): Unit
// │ bar.a: Double
// │ │
println(a)
// bar.a: Double
// │
return a
} else {
// fun io/println(Double): Unit
// │ bar.b: Double
// │ │
println(b)
// bar.b: Double
// │
return b
}
}
fun baz(a: Long, b: Long): Long {
// Nothing
// │
when {
// baz.a: Long
// │ fun (Long).compareTo(Long): Int
// │ │ baz.b: Long
// │ │ │ Nothing
// │ │ │ │
a > b -> {
// fun io/println(Long): Unit
// │ baz.a: Long
// │ │
println(a)
// baz.a: Long
// │
return a
}
// Nothing
// │ baz.b: Long
// │ │
else -> return b
}
}
fun grade(g: Int): String {
// String
// │ grade.g: Int
// │ │
return when (g) {
// Int
// │ Int String
// │ │ │
6, 7 -> "Outstanding"
// Int String
// │ │
5 -> "Excellent"
// Int String
// │ │
4 -> "Good"
// Int String
// │ │
3 -> "Mediocre"
// fun (ranges/IntRange).contains(Int): Boolean
// │ Int
// │ │fun (Int).rangeTo(Int): ranges/IntRange
// │ ││ Int String
// │ ││ │ │
in 1..2 -> "Fail"
// String
// │
is Number -> "Number"
// String
// │
else -> "Unknown"
}
}