Files
kotlin-fork/j2k/testData/multiFile/NullabilityByDFa/SomeServiceUsage.java
T
Simon Ogorodnik e41c027c9a Add IDEA data-flow analysis to guess nullability
Add "if return..." folding to "return if"
2017-06-07 21:21:36 +03:00

53 lines
1.2 KiB
Java
Vendored

public class SomeServiceUsage {
public SomeService getService() {
return SomeService.getInstanceNotNull();
}
public SomeService getServiceNullable() {
return SomeService.getInstanceNullable();
}
// elvis
public SomeService getServiceNotNullByDataFlow() {
SomeService s = SomeService.getInstanceNullable();
return s == null ? SomeService.getInstanceNotNull() : s;
}
// nullable, bang-bang
public String aString1() {
return getServiceNullable().nullableString();
}
// nullable
public String aString2() {
return getService().nullableString();
}
// not nullable
public String aString3() {
return getService().notNullString();
}
// nullable, no bang-bang
public String aString4() {
return getServiceNotNullByDataFlow().nullableString();
}
// not nullable, no bang-bang
public String aString5() {
return getServiceNotNullByDataFlow().notNullString();
}
// nullable, safe-call
public String aString6() {
SomeService s = getServiceNullable();
if (s != null) {
return s.nullableString();
} else {
return null;
}
}
}