kotlinx.coroutines 库中 Flow 的冗余调用。
此检查会检测两种类型的冗余:
Flow 的冗余 filter… 调用。
只有在类型不同于结果类型的接收者上调用时,filterNotNull() 或 filterIsInstance 这类函数才有意义。
在其他情况下,可以忽略此类调用,因为结果将相同。mapNotNull 调用。
如果转换结果已保证为非空类型,则 mapNotNull 冗余。 在这种情况下,可以去掉 NotNull 后缀(例如 mapNotNull → map)。可以通过快速修复来省略冗余调用,或将其替换为更简单的替代方案。
示例:
fun test(flow: Flow<String>) {
val x = flow.filterNotNull() // 可被简化为 'flow'
val y = flow.filterIsInstance<String>() // 可被简化为 'flow'
}
fun test(flow: Flow<Int>) {
val x = flow.mapNotNull { it + 1 } // 可被替换为 'map'
}