K1/K2: support org.jspecify.annotations.NonNull in Java interop

#KT-62352 Fixed
This commit is contained in:
Mikhail Glukhikh
2023-11-14 16:24:34 +01:00
committed by Space Team
parent dcbc1e6a04
commit 1eacd5efc2
10 changed files with 131 additions and 0 deletions
@@ -185,6 +185,7 @@ abstract class AbstractAnnotationTypeQualifierResolver<TAnnotation : Any>(
in NULLABLE_ANNOTATIONS -> NullabilityQualifier.NULLABLE
in NOT_NULL_ANNOTATIONS -> NullabilityQualifier.NOT_NULL
JSPECIFY_OLD_NULLABLE, JSPECIFY_NULLABLE -> NullabilityQualifier.NULLABLE
JSPECIFY_NON_NULL -> NullabilityQualifier.NOT_NULL
JSPECIFY_OLD_NULLNESS_UNKNOWN, JSPECIFY_NULLNESS_UNKNOWN -> NullabilityQualifier.FORCE_FLEXIBILITY
JAVAX_NONNULL_ANNOTATION ->
when (annotation.enumArguments(onlyValue = false).firstOrNull()) {
@@ -25,6 +25,7 @@ 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 JSPECIFY_NON_NULL = FqName("org.jspecify.annotations.NonNull")
val NULLABLE_ANNOTATIONS = listOf(
JvmAnnotationNames.JETBRAINS_NULLABLE_ANNOTATION,