Explicit 'get' or 'set' call
Reports explicit calls to get
or set
functions which can be replaced by an indexing operator []
.
Kotlin allows custom implementations for the predefined set of operators on types. To overload an operator, you can mark the corresponding function with the operator
modifier:
operator fun get(index: Int) {}
operator fun set(index: Int, value: Int) {}
The functions above correspond to the indexing operator.
Example:
class Test {
operator fun get(i: Int): Int = 0
}
fun test() {
Test().get(0) // replaceable 'get()'
}
After the quick-fix is applied:
class Test {
operator fun get(i: Int): Int = 0
}
fun test() {
Test()[0]
}
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Kotlin, @snapshot@ |
Last modified: 13 July 2023