Don't forget jspecify annotation during extracting nullability from known annotations
This commit is contained in:
@@ -46,8 +46,11 @@ private fun FirAnnotationCall.extractNullabilityFromKnownAnnotations(javaTypeEnh
|
||||
if (reportLevel == ReportLevel.IGNORE) return null
|
||||
|
||||
return when (annotationClassId) {
|
||||
in NULLABLE_ANNOTATION_IDS -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NULLABLE)
|
||||
in NOT_NULL_ANNOTATION_IDS -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NOT_NULL)
|
||||
in NULLABLE_ANNOTATION_IDS -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NULLABLE, reportLevel.isWarning)
|
||||
in NOT_NULL_ANNOTATION_IDS -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NOT_NULL, reportLevel.isWarning)
|
||||
JSPECIFY_NULLABLE_ANNOTATION_ID -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NULLABLE, reportLevel.isWarning)
|
||||
JSPECIFY_NULLNESS_UNKNOWN_ANNOTATION_ID ->
|
||||
NullabilityQualifierWithMigrationStatus(NullabilityQualifier.FORCE_FLEXIBILITY, reportLevel.isWarning)
|
||||
JAVAX_NONNULL_ANNOTATION_ID -> extractNullabilityTypeFromArgument()
|
||||
COMPATQUAL_NULLABLE_ANNOTATION_ID -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NULLABLE)
|
||||
COMPATQUAL_NONNULL_ANNOTATION_ID -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NOT_NULL)
|
||||
@@ -84,3 +87,5 @@ private val COMPATQUAL_NULLABLE_ANNOTATION_ID = ClassId.topLevel(COMPATQUAL_NULL
|
||||
val COMPATQUAL_NONNULL_ANNOTATION_ID = ClassId.topLevel(COMPATQUAL_NONNULL_ANNOTATION)
|
||||
val ANDROIDX_RECENTLY_NON_NULL_ANNOTATION_ID = ClassId.topLevel(ANDROIDX_RECENTLY_NON_NULL_ANNOTATION)
|
||||
private val ANDROIDX_RECENTLY_NULLABLE_ANNOTATION_ID = ClassId.topLevel(ANDROIDX_RECENTLY_NULLABLE_ANNOTATION)
|
||||
private val JSPECIFY_NULLABLE_ANNOTATION_ID = ClassId.topLevel(JSPECIFY_NULLABLE)
|
||||
private val JSPECIFY_NULLNESS_UNKNOWN_ANNOTATION_ID = ClassId.topLevel(JSPECIFY_NULLNESS_UNKNOWN)
|
||||
+3
-3
@@ -97,14 +97,12 @@ class SignatureEnhancement(
|
||||
} else migrationStatus
|
||||
}
|
||||
|
||||
private fun getReportLevel(annotationFqName: FqName) = javaTypeEnhancementState.getReportLevelForAnnotation(annotationFqName)
|
||||
|
||||
private fun commonMigrationStatus(
|
||||
annotationFqName: FqName,
|
||||
annotationDescriptor: AnnotationDescriptor,
|
||||
isForWarningOnly: Boolean = false
|
||||
): NullabilityQualifierWithMigrationStatus? {
|
||||
val reportLevel = getReportLevel(annotationFqName)
|
||||
val reportLevel = javaTypeEnhancementState.getReportLevelForAnnotation(annotationFqName)
|
||||
|
||||
if (reportLevel.isIgnore) return null
|
||||
|
||||
@@ -113,6 +111,8 @@ class SignatureEnhancement(
|
||||
return when (annotationFqName) {
|
||||
in NULLABLE_ANNOTATIONS -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NULLABLE, isForWarning)
|
||||
in NOT_NULL_ANNOTATIONS -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NOT_NULL, isForWarning)
|
||||
JSPECIFY_NULLABLE -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NULLABLE, isForWarning)
|
||||
JSPECIFY_NULLNESS_UNKNOWN -> NullabilityQualifierWithMigrationStatus(NullabilityQualifier.FORCE_FLEXIBILITY, isForWarning)
|
||||
JAVAX_NONNULL_ANNOTATION -> annotationDescriptor.extractNullabilityTypeFromArgument(isForWarning)
|
||||
COMPATQUAL_NULLABLE_ANNOTATION ->
|
||||
NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NULLABLE, isForWarning)
|
||||
|
||||
Reference in New Issue
Block a user