Resolve qualifier nicknames to default annotations without JSR305 jar

#KT-19419 In Progress
This commit is contained in:
Denis Zharkov
2017-08-09 18:23:55 +07:00
parent f8f0c0b6d7
commit 964f60d0a4
3 changed files with 7 additions and 3 deletions
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.resolve.constants.ArrayValue
import org.jetbrains.kotlin.resolve.constants.ConstantValue
import org.jetbrains.kotlin.resolve.constants.EnumValue
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
@@ -121,5 +122,7 @@ class AnnotationTypeQualifierResolverImpl(storageManager: StorageManager) : Anno
}
}
val BUILT_IN_TYPE_QUALIFIER_FQ_NAMES = setOf(JAVAX_NONNULL_ANNOTATION, JAVAX_CHECKFORNULL_ANNOTATION)
private val ClassDescriptor.isAnnotatedWithTypeQualifier: Boolean
get() = annotations.hasAnnotation(TYPE_QUALIFIER_FQNAME)
get() = fqNameSafe in BUILT_IN_TYPE_QUALIFIER_FQ_NAMES || annotations.hasAnnotation(TYPE_QUALIFIER_FQNAME)
@@ -33,6 +33,7 @@ val NULLABLE_ANNOTATIONS = listOf(
)
val JAVAX_NONNULL_ANNOTATION = FqName("javax.annotation.Nonnull")
val JAVAX_CHECKFORNULL_ANNOTATION = FqName("javax.annotation.CheckForNull")
val NOT_NULL_ANNOTATIONS = listOf(
JvmAnnotationNames.JETBRAINS_NOT_NULL_ANNOTATION,