

public class TestBooleanReturn
{
	public boolean test(int a, int b)
	{
		if (a < b)
			return true;
		else
			return false;
	}
}

/* generates

  TestingGround: [0002]  if_icmpge
  TestingGround: [0005]  iconst_1
  TestingGround: [0006]  ireturn
  TestingGround: [0007]  iconst_0
  TestingGround: [0008]  ireturn
  
*/
@@ -1,8 +1,184 @@
+/* generates%0A%0ATestingGround: %5B0002%5D  if_icmpge%0ATestingGround: %5B0005%5D  iconst_1%0ATestingGround: %5B0006%5D  ireturn%0ATestingGround: %5B0007%5D  iconst_0%0ATestingGround: %5B0008%5D  ireturn%0A%0A*/
 %0A%0Apublic
@@ -224,16 +224,17 @@
 ean test
+1
 (int a, 
@@ -303,195 +303,351 @@
 %0A%09%7D%0A
-%7D%0A%0A/* generates%0A%0A  TestingGround: %5B0002%5D  if_icmpge%0A  TestingGround: %5B0005%5D  iconst_1%0A  TestingGround: %5B0006%5D  ireturn%0A  TestingGround: %5B0007%5D  iconst_0%0A  TestingGround: %5B0008%5D  ireturn%0A  %0A*/
+%09%0A%09public boolean test2(int a, int b)%0A%09%7B%0A%09%09//this should not be reported%0A%09%09while (a %3C b) %7B%0A%09%09%09a++;%0A%09%09%09if (a == 0)%0A%09%09%09%09return true;%0A%09%09%7D%0A%09%09return false;%0A%09%7D%0A%09%0A%09public boolean test3(int a, int b)%0A%09%7B%0A%09%09//this should not be reported%0A%09%09switch (a)%0A%09%09%7B%0A%09%09%09case 0:%0A%09%09%09%09if (b == 0)%0A%09%09%09%09%09return true;%0A%09%09%09case 1:%0A%09%09%09%09return false;%0A%09%09%7D%0A%09%09%0A%09%09return false;%0A%09%7D%0A%7D%0A%0A

add a two current false-postive examples to cleanup