Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/ParamContractBoolean.java
Tagir Valeev 7c45b3d106 [java-dfa] IDEA-307955 "Constant values" should only warn on the outer most constant expression
GitOrigin-RevId: 6ca85640d4d20ca72b7262a7a8f1733ee60ffa07
2022-12-13 18:58:48 +00:00

25 lines
802 B
Java

import org.jetbrains.annotations.Contract;
class Scratch
{
public static void main(String[] args)
{
maybeNull = true;
if (!isTrue(getMaybeNull())) { }
if (<warning descr="Condition '!isTrue(null)' is always 'true'">!isTrue(<warning descr="Passing 'null' argument to non-annotated parameter">null</warning>)</warning>) { }
if (<warning descr="Condition '!isTrue(true)' is always 'false'">!isTrue(true)</warning>) { }
if (<warning descr="Condition '!isTrue(false)' is always 'true'">!isTrue(false)</warning>) { }
}
static Boolean maybeNull = null;
static Boolean getMaybeNull()
{
return maybeNull;
}
@Contract(value = "null -> false; !null -> param1", pure = true)
public static boolean isTrue(final Boolean value)
{
return value != null && value;
}
}