associate() and associateTo() that can be replaced with associateBy() or associateWith().
Both functions accept a transformer function applied to elements of a given sequence or collection (as a receiver).
The pairs are then used to build the resulting Map.
Given the transformer refers to it, the associate[To]() call can be replaced with more performant associateBy()
or associateWith().
Examples:
fun getKey(i: Int) = 1L
fun getValue(i: Int) = 1L
fun test() {
arrayOf(1).associate { getKey(it) to it } // replaceable 'associate()'
listOf(1).associate { it to getValue(it) } // replaceable 'associate()'
}
After the quick-fix is applied:
fun getKey(i: Int) = 1L
fun getValue(i: Int) = 1L
fun test() {
arrayOf(1).associateBy { getKey(it) }
listOf(1).associateWith { getValue(it) }
}