Change reporting policy for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS
If lower bound of flexible is nullable treat it like Kotlin nullable type Anyway appropriate errors are reported outside JavaNullabilityWarningsChecker
This commit is contained in:
+6
@@ -217,12 +217,18 @@ private fun checkTypeParameterDescriptorsAreNotReified(
|
|||||||
public class JavaNullabilityWarningsChecker : AdditionalTypeChecker {
|
public class JavaNullabilityWarningsChecker : AdditionalTypeChecker {
|
||||||
private fun JetType.mayBeNull(): NullabilityInformationSource? {
|
private fun JetType.mayBeNull(): NullabilityInformationSource? {
|
||||||
if (!isError() && !isFlexible() && TypeUtils.isNullableType(this)) return NullabilityInformationSource.KOTLIN
|
if (!isError() && !isFlexible() && TypeUtils.isNullableType(this)) return NullabilityInformationSource.KOTLIN
|
||||||
|
|
||||||
|
if (isFlexible() && TypeUtils.isNullableType(flexibility().lowerBound)) return NullabilityInformationSource.KOTLIN
|
||||||
|
|
||||||
if (getAnnotations().isMarkedNullable()) return NullabilityInformationSource.JAVA
|
if (getAnnotations().isMarkedNullable()) return NullabilityInformationSource.JAVA
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun JetType.mustNotBeNull(): NullabilityInformationSource? {
|
private fun JetType.mustNotBeNull(): NullabilityInformationSource? {
|
||||||
if (!isError() && !isFlexible() && !TypeUtils.isNullableType(this)) return NullabilityInformationSource.KOTLIN
|
if (!isError() && !isFlexible() && !TypeUtils.isNullableType(this)) return NullabilityInformationSource.KOTLIN
|
||||||
|
|
||||||
|
if (isFlexible() && !TypeUtils.isNullableType(flexibility().upperBound)) return NullabilityInformationSource.KOTLIN
|
||||||
|
|
||||||
if (!isMarkedNullable() && getAnnotations().isMarkedNotNull()) return NullabilityInformationSource.JAVA
|
if (!isMarkedNullable() && getAnnotations().isMarkedNotNull()) return NullabilityInformationSource.JAVA
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user