Change the compiler to view both old and new JSpecify packages equal

Compiler uses the single reporting level for both old/new JSpecify packages
This commit is contained in:
Kevin Bourrillion
2022-12-12 19:08:14 -08:00
committed by Space Team
parent 2694bdeb92
commit 503e093af3
4 changed files with 22 additions and 7 deletions
@@ -184,8 +184,8 @@ abstract class AbstractAnnotationTypeQualifierResolver<TAnnotation : Any>(
val nullability = when (fqName) {
in NULLABLE_ANNOTATIONS -> NullabilityQualifier.NULLABLE
in NOT_NULL_ANNOTATIONS -> NullabilityQualifier.NOT_NULL
JSPECIFY_NULLABLE -> NullabilityQualifier.NULLABLE
JSPECIFY_NULLNESS_UNKNOWN -> NullabilityQualifier.FORCE_FLEXIBILITY
JSPECIFY_OLD_NULLABLE, JSPECIFY_NULLABLE -> NullabilityQualifier.NULLABLE
JSPECIFY_OLD_NULLNESS_UNKNOWN, JSPECIFY_NULLNESS_UNKNOWN -> NullabilityQualifier.FORCE_FLEXIBILITY
JAVAX_NONNULL_ANNOTATION ->
when (annotation.enumArguments(onlyValue = false).firstOrNull()) {
"ALWAYS", null -> NullabilityQualifier.NOT_NULL
@@ -30,6 +30,11 @@ val DEFAULT_JSPECIFY_APPLICABILITY = listOf(
)
val JSPECIFY_DEFAULT_ANNOTATIONS = mapOf(
JSPECIFY_OLD_NULL_MARKED to JavaDefaultQualifiers(
NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NOT_NULL),
DEFAULT_JSPECIFY_APPLICABILITY,
definitelyNotNull = false
),
JSPECIFY_NULL_MARKED to JavaDefaultQualifiers(
NullabilityQualifierWithMigrationStatus(NullabilityQualifier.NOT_NULL),
DEFAULT_JSPECIFY_APPLICABILITY,
@@ -9,7 +9,8 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.findValueForMostSpecificFqname
import org.jetbrains.kotlin.storage.LockBasedStorageManager
val JSPECIFY_ANNOTATIONS_PACKAGE = FqName("org.jspecify.nullness")
val JSPECIFY_OLD_ANNOTATIONS_PACKAGE = FqName("org.jspecify.nullness")
val JSPECIFY_ANNOTATIONS_PACKAGE = FqName("org.jspecify.annotations")
val RXJAVA3_ANNOTATIONS_PACKAGE = FqName("io.reactivex.rxjava3.annotations")
val CHECKER_FRAMEWORK_COMPATQUAL_ANNOTATIONS_PACKAGE = FqName("org.checkerframework.checker.nullness.compatqual")
@@ -42,6 +43,11 @@ val NULLABILITY_ANNOTATION_SETTINGS: NullabilityAnnotationStates<JavaNullability
sinceVersion = null
),
FqName("lombok") to JavaNullabilityAnnotationsStatus.DEFAULT,
JSPECIFY_OLD_ANNOTATIONS_PACKAGE to JavaNullabilityAnnotationsStatus(
reportLevelBefore = ReportLevel.WARN,
sinceVersion = KotlinVersion(1, 9),
reportLevelAfter = ReportLevel.STRICT
),
JSPECIFY_ANNOTATIONS_PACKAGE to JavaNullabilityAnnotationsStatus(
reportLevelBefore = ReportLevel.WARN,
sinceVersion = KotlinVersion(1, 9),
@@ -19,9 +19,12 @@ package org.jetbrains.kotlin.load.java
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.name.FqName
val JSPECIFY_NULLABLE = FqName("org.jspecify.nullness.Nullable")
val JSPECIFY_NULLNESS_UNKNOWN = FqName("org.jspecify.nullness.NullnessUnspecified")
val JSPECIFY_NULL_MARKED = FqName("org.jspecify.nullness.NullMarked")
val JSPECIFY_OLD_NULLABLE = FqName("org.jspecify.nullness.Nullable")
val JSPECIFY_OLD_NULLNESS_UNKNOWN = FqName("org.jspecify.nullness.NullnessUnspecified")
val JSPECIFY_OLD_NULL_MARKED = FqName("org.jspecify.nullness.NullMarked")
val JSPECIFY_NULLABLE = FqName("org.jspecify.annotations.Nullable")
val JSPECIFY_NULLNESS_UNKNOWN = FqName("org.jspecify.annotations.NullnessUnspecified")
val JSPECIFY_NULL_MARKED = FqName("org.jspecify.annotations.NullMarked")
val NULLABLE_ANNOTATIONS = listOf(
JvmAnnotationNames.JETBRAINS_NULLABLE_ANNOTATION,
@@ -71,8 +74,9 @@ val NULLABILITY_ANNOTATIONS = mutableSetOf<FqName>() +
COMPATQUAL_NONNULL_ANNOTATION +
ANDROIDX_RECENTLY_NULLABLE_ANNOTATION +
ANDROIDX_RECENTLY_NON_NULL_ANNOTATION +
JSPECIFY_OLD_NULLABLE +
JSPECIFY_OLD_NULL_MARKED +
JSPECIFY_NULLABLE +
JSPECIFY_NULLNESS_UNKNOWN +
JSPECIFY_NULL_MARKED
val READ_ONLY_ANNOTATIONS = setOf(