import checkers.regex.quals.Regex; import java.util.regex.Pattern; public class Simple { void regString() { String s1 = "validRegex"; String s2 = "(InvalidRegex"; } void validRegString() { @Regex String s1 = "validRegex"; //:: (assignment.type.incompatible) @Regex String s2 = "(InvalidRegex"; // error } void compileCall() { Pattern.compile("test.*[^123]$"); //:: (argument.type.incompatible) Pattern.compile("$test.*[^123"); // error } void requireValidReg(@Regex String reg, String nonReg) { Pattern.compile(reg); //:: (argument.type.incompatible) Pattern.compile(nonReg); // error } void testAddition(@Regex String reg, String nonReg) { @Regex String s1 = reg; @Regex String s2 = reg + "d.*sf"; @Regex String s3 = reg + reg; //:: (assignment.type.incompatible) @Regex String n1 = nonReg; // error //:: (assignment.type.incompatible) @Regex String n2 = reg + "(df"; // error //:: (assignment.type.incompatible) @Regex String n3 = reg + nonReg; // error //:: (assignment.type.incompatible) @Regex String o1 = nonReg; // error //:: (assignment.type.incompatible) @Regex String o2 = nonReg + "sdf"; // error //:: (assignment.type.incompatible) @Regex String o3 = nonReg + reg; // error } }