Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalToIf/beforeFlatMap.java
Artemiy Sartakov f0c78aea15 OptionalToIfInspection: misc fixes
1. generate if with curly braces when it contains single declaration inside
2. restore else branch after generating code for flatMap
3. do not reassign source variable for nested source operations

GitOrigin-RevId: 061fbcc8d8dda586dcecb9a448752709a43370da
2020-04-21 08:55:39 +00:00

50 lines
1.5 KiB
Java

// "Fix all 'Optional can be replaced with sequence of if statements' problems in file" "true"
import java.util.*;
class Test {
private void reusesVariable(String in) {
Object out = Optional.of<caret>(in).flatMap(o -> Optional.of(o)).map(o -> id(o)).get();
}
private void checkIsRemoved(String in) {
String out = Optional.of(in).flatMap(s -> Optional.of(in)).get();
}
void simple(String in) {
String out = Optional.ofNullable<caret>(in).flatMap(s -> Optional.of(s)).orElse("bar");
}
void simpleWithMap(String in) {
String out = Optional.ofNullable<caret>(in).flatMap(s -> Optional.of(s).map(v -> id(v))).orElse("bar");
}
void nested(String in) {
String out = Optional.ofNullable(in).flatMap(s1 -> Optional.of(s1).flatMap(s2 -> Optional.of(s2))).orElse("bar");
}
void outer(String in, String p) {
String out = Optional.ofNullable(in).flatMap(s1 -> Optional.of(s1).flatMap(s2 -> Optional.of(s2 + s1 + p))).orElse("bar");
}
void nullableOuter(String in, String p) {
String out = Optional.ofNullable(in).flatMap(s1 -> Optional.of(p)).orElse("bar");
}
void nestedFlatMap(String var0) {
boolean b = Optional.ofNullable(var0)
.flatMap(var1 ->
Optional.of(var1).map(s -> s.toLowerCase())
.flatMap(var2 -> Optional.ofNullable(var2)))
.isPresent();
}
String flatMapWithOrInside() {
return Optional.<String>empty().flatMap(s1 -> Optional.empty().or(() -> Optional.empty())).get();
}
<T> T id(T t) {
return t;
}
}