33import java .util .Map ;
44import java .util .HashMap ;
55import java .util .concurrent .TimeUnit ;
6+ import java .util .Set ;
67
78class TestBase {
89 String taint () { return "tainted" ; }
@@ -15,7 +16,7 @@ void test1() {
1516 sink (Strings .padStart (x , 10 , ' ' )); // $numTaintFlow=1
1617 sink (Strings .padEnd (x , 10 , ' ' )); // $numTaintFlow=1
1718 sink (Strings .repeat (x , 3 )); // $numTaintFlow=1
18- sink (Strings .emptyToNull (Strings .nullToEmpty (x ))); // $numTaintFlow =1
19+ sink (Strings .emptyToNull (Strings .nullToEmpty (x ))); // $numValueFlow =1
1920 sink (Strings .lenientFormat (x , 3 )); // $numTaintFlow=1
2021 sink (Strings .commonPrefix (x , "abc" ));
2122 sink (Strings .commonSuffix (x , "cde" ));
@@ -59,8 +60,8 @@ void test3() {
5960 }
6061
6162 void test4 () {
62- sink (Preconditions .checkNotNull (taint ())); // $numTaintFlow =1
63- sink (Verify .verifyNotNull (taint ())); // $numTaintFlow =1
63+ sink (Preconditions .checkNotNull (taint ())); // $numValueFlow =1
64+ sink (Verify .verifyNotNull (taint ())); // $numValueFlow =1
6465 }
6566
6667 void test5 () {
@@ -78,9 +79,9 @@ void test6() {
7879 }
7980
8081 void test7 () {
81- sink (MoreObjects .firstNonNull (taint (), taint ())); // $numTaintFlow =2
82- sink (MoreObjects .firstNonNull (null , taint ())); // $numTaintFlow =1
83- sink (MoreObjects .firstNonNull (taint (), null )); // $numTaintFlow =1
82+ sink (MoreObjects .firstNonNull (taint (), taint ())); // $numValueFlow =2
83+ sink (MoreObjects .firstNonNull (null , taint ())); // $numValueFlow =1
84+ sink (MoreObjects .firstNonNull (taint (), null )); // $numValueFlow =1
8485 sink (MoreObjects .toStringHelper (taint ()).add ("x" , 3 ).omitNullValues ().toString ()); // $numTaintFlow=1
8586 sink (MoreObjects .toStringHelper ((Object ) taint ()).toString ());
8687 sink (MoreObjects .toStringHelper ("a" ).add ("x" , 3 ).add (taint (), 4 ).toString ()); // $numTaintFlow=1
@@ -94,16 +95,15 @@ void test7() {
9495 void test8 () {
9596 Optional <String > x = Optional .of (taint ());
9697 sink (x ); // $numTaintFlow=1
97- sink (x .get ()); // $numTaintFlow=1
98- sink (x .or ("hi" )); // $numTaintFlow=1
99- sink (x .orNull ()); // $numTaintFlow=1
100- sink (x .asSet ()); // $numTaintFlow=1
101- sink (Optional .fromJavaUtil (x .toJavaUtil ())); // $numTaintFlow=1
102- sink (Optional .fromJavaUtil (Optional .toJavaUtil (x ))); // $numTaintFlow=1
103- sink (x .asSet ()); // $numTaintFlow=1
104- sink (Optional .fromNullable (taint ())); // $numTaintFlow=1
105- sink (Optional .absent ().or (x )); // $numTaintFlow=1
106- sink (Optional .absent ().or (taint ())); // $numTaintFlow=1
107- sink (Optional .presentInstances (Optional .of (x ).asSet ())); // $numTaintFlow=1
98+ sink (x .get ()); // $numValueFlow=1
99+ sink (x .or ("hi" )); // $numValueFlow=1
100+ sink (x .orNull ()); // $numValueFlow=1
101+ sink (x .asSet ().toArray ()[0 ]); // $numValueFlow=1
102+ sink (Optional .fromJavaUtil (x .toJavaUtil ()).get ()); // $numValueFlow=1
103+ sink (Optional .fromJavaUtil (Optional .toJavaUtil (x )).get ()); // $numValueFlow=1
104+ sink (Optional .fromNullable (taint ()).get ()); // $numValueFlow=1
105+ sink (Optional .absent ().or (x ).get ()); // $numValueFlow=1
106+ sink (Optional .absent ().or (taint ())); // $numValueFlow=1
107+ sink (Optional .presentInstances (Set .of (x )).iterator ().next ()); // $numValueFlow=1
108108 }
109109}
0 commit comments