Inspectopedia Help

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