1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
import java.util.Optional;
/** Test case for flow-sensitivity of Optional.isPresent(). */
@SuppressWarnings("optional.parameter")
public class FlowSensitivity {
String noCheck(Optional<String> opt) {
// :: error: (method.invocation.invalid)
return opt.get();
}
String hasCheck1(Optional<String> opt) {
if (opt.isPresent()) {
return opt.get();
} else {
return "default";
}
}
String hasCheck2(Optional<String> opt) {
if (!opt.isPresent()) {
return "default";
}
return opt.get();
}
}
|