@Override
public void caseStaticInvokeExpr(StaticInvokeExpr v) {
SootMethodRef m = v.getMethodRef();
if (m.getSignature().equals("<java.lang.Character: boolean isDigit(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeDigits()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeDigits().complement()));
}
}
else if (m.getSignature().equals("<java.lang.Character: boolean isLetter(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeLetters()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeLetters().complement()));
}
}
else if (m.getSignature().equals("<java.lang.Character: boolean isLetterOrDigit(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeLettersAndDigits()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeLettersAndDigits().complement()));
}
}
else if (m.getSignature().equals("<java.lang.Character: boolean isLowerCase(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeLowerCase()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeLowerCase().complement()));
}
}
else if (m.getSignature().equals("<java.lang.Character: boolean isTitleCase(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeTitleCase()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeTitleCase().complement()));
}
}
else if (m.getSignature().equals("<java.lang.Character: boolean isUpperCase(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeUpperCase()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeUpperCase().complement()));
}
}
else if (m.getSignature().equals("<java.lang.Character: boolean isSpaceChar(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeSpaceChars()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeSpaceChars().complement()));
}
}
else if (m.getSignature().equals("<java.lang.Character: boolean isWhitespace(char)>")) {
Variable base = getArgument(v, 0);
if (expected == true) {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeWhitespace()));
} else {
makeUnaryAssertion(base, new AssertInLanguage(Basic.getUnicodeWhitespace().complement()));
}