警告:无法访问的代码,Kotlin 中未使用的等于表达式
Warning: Unreachable code, Unused equals expression in Kotlin
这是我的代码,我不喜欢警告。
currentFlag.inc()
发出警告:无法访问的代码,if(currentFlag == 1) 发出警告:未使用的等于表达式
private fun processGather() {
TODO("process Gather implemented")
currentFlag.inc()
if (currentFlag == 1) {
this.binding.ivStep1.setImageDrawable(AppCompatResources.getDrawable(this, R.drawable.step2))
}
}
您可能误用了 TODO
。 TODO
这样做:
Always throws NotImplementedError stating that operation is not implemented.
它旨在用作您尚未实现的功能的占位符 return 值。在你的情况下,// TODO
评论似乎更合适。
如果您确实打算在那里抛出 NotImplementedError
,并且仍然想消除警告,您可以将 Suppress
注释应用于文件或周围的方法:
@file:Suppress("UNREACHABLE_CODE", "UnusedEquals")
// or
@Suppress("UNREACHABLE_CODE", "UnusedEquals")
private fun processGather() {
注意TODO
的return类型是Nothing
,这告诉编译器它永远不会return(它总是会抛出异常)。正因如此,可以分析出TODO
调用之后的一切都不会被执行。因此,“无法访问的代码”。
可能因为这段不可达的代码,也导致触发了“未使用的等式表达式”检查,理由是“既然不可达,就不用”。这也可能是无意的,因为在我看来,应该只触发无法访问的代码检查。
TODO 方法将始终抛出 NotImplemented 错误。由于 TODO 是您方法中的第一行,因此执行永远无法到达 TODO 方法调用下方的后续行。与 JAVA 不同(它会导致编译错误),在 kotlin 中无法访问的代码将在编译期间导致警告。为避免它,只需在 TODO 方法调用
下面注释代码
这是我的代码,我不喜欢警告。
currentFlag.inc()
发出警告:无法访问的代码,if(currentFlag == 1) 发出警告:未使用的等于表达式
private fun processGather() {
TODO("process Gather implemented")
currentFlag.inc()
if (currentFlag == 1) {
this.binding.ivStep1.setImageDrawable(AppCompatResources.getDrawable(this, R.drawable.step2))
}
}
您可能误用了 TODO
。 TODO
这样做:
Always throws NotImplementedError stating that operation is not implemented.
它旨在用作您尚未实现的功能的占位符 return 值。在你的情况下,// TODO
评论似乎更合适。
如果您确实打算在那里抛出 NotImplementedError
,并且仍然想消除警告,您可以将 Suppress
注释应用于文件或周围的方法:
@file:Suppress("UNREACHABLE_CODE", "UnusedEquals")
// or
@Suppress("UNREACHABLE_CODE", "UnusedEquals")
private fun processGather() {
注意TODO
的return类型是Nothing
,这告诉编译器它永远不会return(它总是会抛出异常)。正因如此,可以分析出TODO
调用之后的一切都不会被执行。因此,“无法访问的代码”。
可能因为这段不可达的代码,也导致触发了“未使用的等式表达式”检查,理由是“既然不可达,就不用”。这也可能是无意的,因为在我看来,应该只触发无法访问的代码检查。
TODO 方法将始终抛出 NotImplemented 错误。由于 TODO 是您方法中的第一行,因此执行永远无法到达 TODO 方法调用下方的后续行。与 JAVA 不同(它会导致编译错误),在 kotlin 中无法访问的代码将在编译期间导致警告。为避免它,只需在 TODO 方法调用
下面注释代码