break または continue の使用箇所を報告します。
break および continue キーワードは常に実際のループ (for、while、do-while) に適用されます。 break および continue が関数に適用されることはありません。たとえば、break および continue は forEach、filter、map に適用されません。
ループのような関数 (例: forEach) 内で break または continue を使用すると分かりにくくなる場合があります。
このインスペクションはラベルを追加し、どのステートメントに break または continue が適用されるのかを明確にすることを提案します。
Kotlin にはループのような関数の概念がないため、このインスペクションはヒューリスティックを使用します。 callsInPlace(EXACTLY_ONCE) または callsInPlace(AT_LEAST_ONCE) のいずれかの契約をもたない関数はループのような関数であると見なされます。
例:
for (file in files) {
file.readLines().forEach { line ->
if (line == commentMarkerLine) continue
println(line)
}
}
クイックフィックスを使用すると、明確にするラベルが追加されます。
loop@ for (file in files) {
file.readLines().forEach { line ->
if (line == commentMarkerLine) continue@loop
println(line)
}
}