fe328f8c7a
1) Trim unused spaces in annotations 2) Rewrote fq name rendering 3) Added annotations to for loop variable 4) Added type arguments render along to type parameters in functions
91 lines
2.2 KiB
Kotlin
Vendored
91 lines
2.2 KiB
Kotlin
Vendored
// 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"
|
|
}
|
|
}
|