FE: don't lose annotations on Java primitive arrays

but only use them to enhance for warnings for now.

^KT-48861 Fixed
This commit is contained in:
pyos
2021-09-22 13:14:05 +02:00
committed by Mikhail Glukhikh
parent c6e4d034cb
commit 6c6d653e85
26 changed files with 245 additions and 126 deletions
@@ -30,7 +30,7 @@ abstract class AbstractSignatureParts<TAnnotation : Any> {
open val forceOnlyHeadTypeConstructor: Boolean
get() = false
abstract val TAnnotation.forceWarning: Boolean
abstract fun TAnnotation.forceWarning(unenhancedType: KotlinTypeMarker?): Boolean
abstract val KotlinTypeMarker.annotations: Iterable<TAnnotation>
abstract val KotlinTypeMarker.enhancedForWarnings: KotlinTypeMarker?
@@ -91,7 +91,7 @@ abstract class AbstractSignatureParts<TAnnotation : Any> {
}
val annotationsMutability = annotationTypeQualifierResolver.extractMutability(composedAnnotation)
val annotationsNullability = annotationTypeQualifierResolver.extractNullability(composedAnnotation) { forceWarning }
val annotationsNullability = annotationTypeQualifierResolver.extractNullability(composedAnnotation) { forceWarning(type) }
if (annotationsNullability != null) {
return JavaTypeQualifiers(
annotationsNullability.qualifier, annotationsMutability,