web-dev-qa-db-ja.com

Kotlinの抑制 '条件は常にtrue'

数え切れないほどの数の検査(有効化と無効化の方法を知っています)を精査するためにより多くの時間を浪費し、Android St​​udioでKotlin(Javaではない)ファイルの'Condition is always true'の特定の検査を無効にする方法を見つけることができません。私は自分が何をしているのかを知っているので、この検査は必要ありませんAT ALLですが、より適切には、ファイル、クラス、関数、またはその他の検査を抑制したいと思います。

いつものように、信じられないほどイライラします。

//I'm well aware the condition below is ALWAYS true
if(Android_SUCKS) {
    fml()
}
11
rmirabelle

Kotlinでは、ConstantConditionIfを使用してこの警告を無視します:

@Suppress("ConstantConditionIf")
if(Android_IS_AWESOME) {
    fml()
}
18
Kevin ABRIOUX

Android Studio、

  1. 抑制したい状態にテキストカーソルを置き、
  2. キーボードのAlt + Enterを押すと、次のようにポップアップ表示されます。

????式の簡略化⯈

  1. キーボードの右矢印を押して、
  2. 次に、好きなオプションを選択します。

    • 検査を無効にする
    • Statement/fun/class/fileの「ConstantConditionIf」を抑制します
14
Eugen Pechanec

これは、Java:

_@SuppressWarnings("ConstantConditions") // Add this line
public int foo() {
    boolean ok = true;
    if (ok) // No more warning here
        ...
}
_

Kotlinでは、代わりに@Suppress("SENSELESS_COMPARISON")を使用する必要があると思います。

10
flawyte

それを見つけた:

Settings > Editor > Inspections > Kotlin > Redundant Constructs > Condition of 'if' expression is constant

1
rmirabelle