Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/CustomContracts.java
T

31 lines
1.0 KiB
Java

public class CustomContracts {
public void testSubstring(String s) {
if (s.<warning descr="The call to 'substring' always fails, according to its method contracts">substring</warning>(-1).length() == 0) {
System.out.println("Oops");
}
}
public void testSubstring2(String s, int index) {
if (s.substring(0, index).length() == 0 || <warning descr="Condition 'index < 0' is always 'false' when reached">index < 0</warning>) {
System.out.println("Oops");
}
}
public void testSubstring3(String s, int index) {
if (s.substring(3, index).equals("foo") || <warning descr="Condition 'index == 1' is always 'false' when reached">index == 1</warning>) {
System.out.println("Oops");
}
}
public void testCharAt(String s) {
int index = 0;
while (Character.isDigit(s.charAt(index))) {
index++;
}
if (index == 0 || <warning descr="Condition 'index == s.length()' is always 'false' when reached">index == s.length()</warning>) {
System.out.println("Wrong");
}
}
}