add hardcoded contracts for Guava checkArgument/checkState (IDEA-126005)

This commit is contained in:
peter
2015-04-20 17:06:34 +02:00
parent 96b1e4a3df
commit 466bd18aff
3 changed files with 28 additions and 0 deletions
@@ -0,0 +1,13 @@
import org.jetbrains.annotations.Nullable;
class Contracts {
private void check(@Nullable Object o, @Nullable Object o2) {
com.google.common.base.Preconditions.checkArgument(o != null);
com.google.common.base.Preconditions.checkState(o2 != null, "");
System.out.println(o.hashCode());
System.out.println(o2.hashCode());
}
}
@@ -364,6 +364,16 @@ public class DataFlowInspectionTest extends LightCodeInsightFixtureTestCase {
myFixture.testHighlighting(true, false, true, getTestName(false) + ".java");
}
public void testBooleanPreconditions() {
myFixture.addClass("package com.google.common.base; public class Preconditions { " +
"public static <T> T checkArgument(boolean b) {}\n" +
"public static <T> T checkArgument(boolean b, String msg) {}\n" +
"public static <T> T checkState(boolean b, String msg) {}\n" +
"}");
myFixture.enableInspections(new DataFlowInspection());
myFixture.testHighlighting(true, false, true, getTestName(false) + ".java");
}
public void testGuavaCheckNotNull() {
myFixture.addClass("package com.google.common.base; public class Preconditions { " +
"public static <T> T checkNotNull(T reference) {}\n" +