Reporting unnecessary safe calls on Java's @NotNull values
This commit is contained in:
+9
-1
@@ -201,11 +201,12 @@ public class JavaNullabilityWarningsChecker : AdditionalTypeChecker {
|
||||
safeAccess: Boolean,
|
||||
c: CallResolutionContext<*>
|
||||
) {
|
||||
val dataFlowValue = DataFlowValueFactory.createDataFlowValue(receiverArgument, c.trace.getBindingContext())
|
||||
if (!safeAccess) {
|
||||
doCheckType(
|
||||
receiverArgument.getType(),
|
||||
receiverParameter.getType(),
|
||||
DataFlowValueFactory.createDataFlowValue(receiverArgument, c.trace.getBindingContext()),
|
||||
dataFlowValue,
|
||||
c.dataFlowInfo
|
||||
) {
|
||||
expectedMustNotBeNull,
|
||||
@@ -222,5 +223,12 @@ public class JavaNullabilityWarningsChecker : AdditionalTypeChecker {
|
||||
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (c.dataFlowInfo.getNullability(dataFlowValue).canBeNull()
|
||||
&& receiverArgument.getType().mustNotBeNull() == NullabilityInformationSource.JAVA) {
|
||||
c.trace.report(Errors.UNNECESSARY_SAFE_CALL.on(c.call.getCallOperationNode().getPsi(), receiverArgument.getType()))
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user