when 브랜치에 연결할 수 없으며 항상 실패하는 것으로 정적으로 알려진 일부 표현식을 보고합니다.
예:
fun process(x: Int?) {
val isNull = x == null
if (!isNull) {
if (x != null) {} // 조건이 항상 true입니다
require(x!! < 0 && x > 10) // 조건이 항상 false입니다
} else {
println(x!!) // !! operator will always fail
}
}
fun process(v: Any) {
when(v) {
is CharSequence -> println(v as Int) // 형 변환이 항상 실패합니다
is String -> println(v) // 브랜치에 도달할 수 없습니다
}
}
조건에 없는 상숫값을 가진 변수를 보고하지 않으려면 '상수가 변수에 저장되면 경고' 옵션을 선택 취소합니다.
2021.3의 새로운 기능