import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Nullable;
class Foo {
String foo(Object escaper, String s) {
return escapeStr(s, escaper);
}
String foo2(Object escaper, @Nullable String s) {
return escapeStr(s, escaper);
}
void foo3(@Nullable String s) {
foo2(this, escapeStr(s));
}
@Contract("null,_->null;!null,_->!null")
String escapeStr(@Nullable String s, Object o) {
return s;
}
@Contract("null->null;!null->!null")
String escapeStr(@Nullable String s) {
return s;
}
}