IDEA-168633 Warn if variable of type java.util.Optional is initialized with null

This commit is contained in:
Tagir Valeev
2017-03-01 16:41:41 +07:00
parent 46e5224847
commit 1b3489639b
8 changed files with 264 additions and 2 deletions
@@ -0,0 +1,27 @@
// "Fix all 'Null value for Optional type' problems in file" "true"
import java.util.List;
import java.util.Optional;
import java.util.OptionalInt;
public class Test {
Optional<String> field = Optional.empty();
Optional<? extends CharSequence> field2 = Optional.empty();
public <T> void test(List<T> list) {
Optional<T> s = list.size() > 0 ? Optional.of(list.get(0)) : Optional.empty();
varArg(1, Optional.of(1), Optional.empty());
m((Optional<String>) Optional.<String>empty());
Optional.of("xyz").flatMap(x -> Optional.empty()).ifPresent(System.out::println);
}
OptionalInt opt() {
return OptionalInt.empty();
}
void m(Optional<String> opt) {}
void m(String s) {}
void varArg(int x, Optional<?>... opts) {
};
}
@@ -0,0 +1,27 @@
// "Fix all 'Null value for Optional type' problems in file" "true"
import java.util.List;
import java.util.Optional;
import java.util.OptionalInt;
public class Test {
Optional<String> field = null;
Optional<? extends CharSequence> field2 = null;
public <T> void test(List<T> list) {
Optional<T> s = list.size() > 0 ? Optional.of(list.get(0)) : n<caret>ull;
varArg(1, Optional.of(1), null);
m((Optional<String>) null);
Optional.of("xyz").flatMap(x -> null).ifPresent(System.out::println);
}
OptionalInt opt() {
return null;
}
void m(Optional<String> opt) {}
void m(String s) {}
void varArg(int x, Optional<?>... opts) {
};
}