Skip to content

Commit c84931d

Browse files
committed
[orx-expression-evaluator] Clean-up warnings in MemberFunctions.kt
1 parent f7bd2eb commit c84931d

File tree

1 file changed

+46
-27
lines changed

1 file changed

+46
-27
lines changed

orx-expression-evaluator-typed/src/commonMain/kotlin/typed/MemberFunctions.kt

Lines changed: 46 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,59 +4,78 @@ import kotlin.math.roundToInt
44

55
internal fun String.memberFunctions(n: String): ((Array<Any>) -> Any)? {
66
return when (n) {
7-
"take" -> { n -> this.take((n[0] as Number).toInt()) }
8-
"drop" -> { n -> this.drop((n[0] as Number).toInt()) }
9-
"takeLast" -> { n -> this.takeLast((n[0] as Number).toInt()) }
10-
"dropLast" -> { n -> this.takeLast((n[0] as Number).toInt()) }
7+
"take" -> { nn -> this.take((nn[0] as Number).toInt()) }
8+
"drop" -> { nn -> this.drop((nn[0] as Number).toInt()) }
9+
"takeLast" -> { nn -> this.takeLast((nn[0] as Number).toInt()) }
10+
"dropLast" -> { nn -> this.takeLast((nn[0] as Number).toInt()) }
1111
else -> null
1212
}
1313
}
1414

1515
internal fun List<*>.memberFunctions(n: String): ((Array<Any>) -> Any)? {
1616
return when (n) {
17-
"first" -> { n -> this.first() ?: error("empty list") }
18-
"last" -> { n -> this.last() ?: error("empty list") }
19-
"take" -> { n -> this.take((n[0] as Number).toInt()) }
20-
"drop" -> { n -> this.drop((n[0] as Number).toInt()) }
21-
"takeLast" -> { n -> this.takeLast((n[0] as Number).toInt()) }
22-
"dropLast" -> { n -> this.takeLast((n[0] as Number).toInt()) }
23-
"map" -> { n -> @Suppress("UNCHECKED_CAST") val lambda = (n[0] as (Any) -> Any); this.map { lambda(it!!) } }
24-
"filter" -> { n ->
25-
val lambda = (n[0] as (Any) -> Any); this.filter { (lambda(it!!) as Double).roundToInt() != 0 }
17+
"first" -> { _ -> this.first() ?: error("empty list") }
18+
"last" -> { _ -> this.last() ?: error("empty list") }
19+
"take" -> { nn -> this.take((nn[0] as Number).toInt()) }
20+
"drop" -> { nn -> this.drop((nn[0] as Number).toInt()) }
21+
"takeLast" -> { nn -> this.takeLast((nn[0] as Number).toInt()) }
22+
"dropLast" -> { nn -> this.takeLast((nn[0] as Number).toInt()) }
23+
"map" -> { nn -> @Suppress("UNCHECKED_CAST") val lambda = (nn[0] as (Any) -> Any); this.map { lambda(it!!) } }
24+
"filter" -> { nn ->
25+
@Suppress("UNCHECKED_CAST", "UNCHECKED_CAST") val lambda =
26+
(nn[0] as (Any) -> Any); this.filter { (lambda(it!!) as Double).roundToInt() != 0 }
2627
}
2728

28-
"max" -> { n ->
29+
"max" -> { _ ->
2930
@Suppress("UNCHECKED_CAST")
3031
(this as List<Comparable<Any>>).max()
3132
}
32-
"min" -> { n ->
33+
34+
"min" -> { _ ->
3335
@Suppress("UNCHECKED_CAST")
3436
(this as List<Comparable<Any>>).min()
3537
}
36-
"maxBy" -> { n ->
37-
@Suppress("UNCHECKED_CAST") val lambda = (n[0] as (Any) -> Any); this.maxByOrNull { lambda(it!!) as Comparable<Any> } ?: error("no max")
38+
39+
"maxBy" -> { nn ->
40+
@Suppress("UNCHECKED_CAST") val lambda =
41+
(nn[0] as (Any) -> Any); this.maxByOrNull {
42+
@Suppress("UNCHECKED_CAST")
43+
lambda(it!!) as Comparable<Any>
44+
} ?: error("no max")
3845
}
3946

40-
"minBy" -> { n ->
41-
@Suppress("UNCHECKED_CAST") val lambda = (n[0] as (Any) -> Any); this.minByOrNull { lambda(it!!) as Comparable<Any> } ?: error("no max")
47+
"minBy" -> { nn ->
48+
@Suppress("UNCHECKED_CAST") val lambda =
49+
(nn[0] as (Any) -> Any); this.minByOrNull {
50+
@Suppress("UNCHECKED_CAST")
51+
lambda(it!!) as Comparable<Any>
52+
} ?: error("no max")
4253
}
4354

44-
"sorted" -> { n ->
55+
"sorted" -> { _ ->
4556
@Suppress("UNCHECKED_CAST")
4657
(this as List<Comparable<Any>>).sorted()
4758
}
48-
"sortedBy" -> { n ->
49-
@Suppress("UNCHECKED_CAST") val lambda = (n[0] as (Any) -> Any); this.sortedBy { lambda(it!!) as Comparable<Any> }
59+
60+
"sortedBy" -> { nn ->
61+
@Suppress("UNCHECKED_CAST") val lambda =
62+
(nn[0] as (Any) -> Any); this.sortedBy {
63+
@Suppress("UNCHECKED_CAST")
64+
lambda(it!!) as Comparable<Any>
65+
}
5066
}
5167

52-
"sortedByDescending" -> { n ->
53-
@Suppress("UNCHECKED_CAST") val lambda = (n[0] as (Any) -> Any); this.sortedByDescending { lambda(it!!) as Comparable<Any> }
68+
"sortedByDescending" -> { nn ->
69+
@Suppress("UNCHECKED_CAST") val lambda = (nn[0] as (Any) -> Any); this.sortedByDescending {
70+
@Suppress("UNCHECKED_CAST")
71+
lambda(it!!) as Comparable<Any>
72+
}
5473
}
5574

56-
"reversed" -> { n -> this.reversed() }
57-
"zip" -> { n ->
75+
"reversed" -> { _ -> this.reversed() }
76+
"zip" -> { nn ->
5877
@Suppress("UNCHECKED_CAST")
59-
this.zip(n[0] as List<Any>).map { listOf(it.first, it.second) }
78+
this.zip(nn[0] as List<Any>).map { listOf(it.first, it.second) }
6079
}
6180

6281
else -> null

0 commit comments

Comments
 (0)