Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/CompileTimeConstant.java
T
peter 54624d1864 infer no contracts for methods always returning null/true/false
they're likely to be used as constant-like flags for functionality being enabled or not (IDEA-166399)
2017-01-23 12:38:06 +01:00

33 lines
765 B
Java

class Fun {
public static final boolean isDebug = true;
public static final boolean isProduction = false;
public static final boolean isDebugInProduction = isDebug && isProduction;
public static boolean isFeatureEnabled() {
return true;
}
void foo() {
if (isDebug) {
System.out.println();
}
if (isFeatureEnabled()) {
System.out.println();
}
}
void fooNegated() {
if (!isDebug) {
System.out.println();
}
}
private static final boolean FRONT_DRAW_GRID_LINES = true;
private static final boolean BACK_DRAW_GRID_LINES = true;
void smthComplex(boolean isFrontPage) {
if (isFrontPage && FRONT_DRAW_GRID_LINES || !isFrontPage && BACK_DRAW_GRID_LINES) {
System.out.println();
}
}
}