From 0d78bcebcad741c7cb7d57797ca8e38e5e16bb4f Mon Sep 17 00:00:00 2001 From: pyos Date: Fri, 3 Sep 2021 16:05:24 +0200 Subject: [PATCH] FE: rename an extension to avoid conflicts with FIR member --- .../enhancement/FirAnnotationTypeQualifierResolver.kt | 3 +-- .../java/AbstractAnnotationTypeQualifierResolver.kt | 10 +++++----- .../load/java/AnnotationTypeQualifierResolver.kt | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/FirAnnotationTypeQualifierResolver.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/FirAnnotationTypeQualifierResolver.kt index 2d901ce62a1..9fa5b31a30f 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/FirAnnotationTypeQualifierResolver.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/FirAnnotationTypeQualifierResolver.kt @@ -21,14 +21,13 @@ import org.jetbrains.kotlin.load.java.JavaTypeQualifiersByElementType import org.jetbrains.kotlin.load.java.JvmAnnotationNames.DEFAULT_ANNOTATION_MEMBER_NAME import org.jetbrains.kotlin.name.FqName -@Suppress("EXTENSION_SHADOWED_BY_MEMBER") class FirAnnotationTypeQualifierResolver( private val session: FirSession, javaTypeEnhancementState: JavaTypeEnhancementState, private val javaModuleAnnotationsProvider: JavaModuleAnnotationsProvider, ) : AbstractAnnotationTypeQualifierResolver(javaTypeEnhancementState), FirSessionComponent { - override val FirAnnotationCall.annotations: Iterable + override val FirAnnotationCall.metaAnnotations: Iterable get() = coneClassLikeType?.lookupTag?.toSymbol(session)?.fir?.annotations.orEmpty() override val FirAnnotationCall.key: Any diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt index 078d01904c6..59d7f8e846e 100644 --- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt +++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt @@ -18,16 +18,16 @@ private typealias TypeQualifierWithApplicability = Pair( private val javaTypeEnhancementState: JavaTypeEnhancementState ) { - protected abstract val TAnnotation.annotations: Iterable + protected abstract val TAnnotation.metaAnnotations: Iterable protected abstract val TAnnotation.key: Any // TODO: figure out if keying `resolvedNicknames` by `fqName` is safe protected abstract val TAnnotation.fqName: FqName? protected abstract fun TAnnotation.enumArguments(onlyValue: Boolean): Iterable private fun TAnnotation.findAnnotation(fqName: FqName): TAnnotation? = - annotations.find { it.fqName == fqName } + metaAnnotations.find { it.fqName == fqName } private fun TAnnotation.hasAnnotation(fqName: FqName): Boolean = - annotations.any { it.fqName == fqName } + metaAnnotations.any { it.fqName == fqName } private val resolvedNicknames = ConcurrentHashMap() @@ -40,7 +40,7 @@ abstract class AbstractAnnotationTypeQualifierResolver( return resolvedNicknames.getOrPut(annotation.key) { // This won't store nulls (ConcurrentHashMap does not permit that), but presumably unless the code // is broken a nickname should be resolvable. - annotation.annotations.firstNotNullOfOrNull(::resolveTypeQualifierAnnotation) ?: return null + annotation.metaAnnotations.firstNotNullOfOrNull(::resolveTypeQualifierAnnotation) ?: return null } } @@ -76,7 +76,7 @@ abstract class AbstractAnnotationTypeQualifierResolver( private fun resolveTypeQualifierDefaultAnnotation(annotation: TAnnotation): TypeQualifierWithApplicability? { if (javaTypeEnhancementState.jsr305.isDisabled) return null val typeQualifierDefault = annotation.findAnnotation(TYPE_QUALIFIER_DEFAULT_FQNAME) ?: return null - val typeQualifier = annotation.annotations.firstOrNull { resolveTypeQualifierAnnotation(it) != null } ?: return null + val typeQualifier = annotation.metaAnnotations.firstOrNull { resolveTypeQualifierAnnotation(it) != null } ?: return null val applicability = typeQualifierDefault.enumArguments(onlyValue = true) .mapNotNullTo(mutableSetOf()) { JAVA_APPLICABILITY_TYPES[it] } return TypeQualifierWithApplicability(typeQualifier, applicability.allIfTypeUse()) diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/AnnotationTypeQualifierResolver.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/AnnotationTypeQualifierResolver.kt index 805a9798ff3..d69e4a8d16d 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/AnnotationTypeQualifierResolver.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/AnnotationTypeQualifierResolver.kt @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass class AnnotationTypeQualifierResolver(javaTypeEnhancementState: JavaTypeEnhancementState) : AbstractAnnotationTypeQualifierResolver(javaTypeEnhancementState) { - override val AnnotationDescriptor.annotations: Iterable + override val AnnotationDescriptor.metaAnnotations: Iterable get() = annotationClass?.annotations ?: emptyList() override val AnnotationDescriptor.key: Any