diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AbstractClassAdditionalAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AbstractClassAdditionalAnnotationsProvider.kt index 5bcb6f26f76..edc0f964a1c 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AbstractClassAdditionalAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AbstractClassAdditionalAnnotationsProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiClass import com.intellij.psi.PsiElement -import com.intellij.psi.PsiModifierList import org.jetbrains.kotlin.analysis.api.annotations.* import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.load.java.JvmAbi @@ -24,7 +23,7 @@ internal object AbstractClassAdditionalAnnotationsProvider : AdditionalAnnotatio override fun addAllAnnotations( currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList + owner: PsiElement ) { if (!owner.parent.isAnnotationClass()) return @@ -34,7 +33,7 @@ internal object AbstractClassAdditionalAnnotationsProvider : AdditionalAnnotatio override fun findSpecialAnnotation( annotationsBox: GranularAnnotationsBox, qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = if (owner.parent.isAnnotationClass()) findAdditionalAnnotationFromAnnotationClass(annotationsBox, qualifiedName, owner) else @@ -48,7 +47,7 @@ private fun PsiElement.isAnnotationClass(): Boolean = this is PsiClass && isAnno private fun addAllAnnotationsFromAnnotationClass( currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList, + owner: PsiElement, ) { for (index in currentRawAnnotations.indices) { val currentAnnotation = currentRawAnnotations[index] as? SymbolLightLazyAnnotation ?: continue @@ -73,7 +72,7 @@ private fun addAllAnnotationsFromAnnotationClass( private fun findAdditionalAnnotationFromAnnotationClass( annotationsBox: GranularAnnotationsBox, qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = annotationsBox.tryConvertToRetentionJavaAnnotation(qualifiedName, owner) ?: annotationsBox.tryConvertToTargetJavaAnnotation(qualifiedName, owner) ?: annotationsBox.tryConvertToDocumentedJavaAnnotation(qualifiedName, owner) @@ -82,7 +81,7 @@ private fun findAdditionalAnnotationFromAnnotationClass( private fun GranularAnnotationsBox.tryConvertToDocumentedJavaAnnotation( qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = tryConvertToJavaAnnotation( qualifiedName = qualifiedName, javaQualifier = JvmAnnotationNames.DOCUMENTED_ANNOTATION.asString(), @@ -91,7 +90,7 @@ private fun GranularAnnotationsBox.tryConvertToDocumentedJavaAnnotation( ) private fun SymbolLightLazyAnnotation.tryConvertToDocumentedJavaAnnotation( - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = tryConvertToJavaAnnotation( javaQualifier = JvmAnnotationNames.DOCUMENTED_ANNOTATION.asString(), kotlinQualifier = StandardNames.FqNames.mustBeDocumented.asString(), @@ -100,7 +99,7 @@ private fun SymbolLightLazyAnnotation.tryConvertToDocumentedJavaAnnotation( private fun GranularAnnotationsBox.tryConvertToRetentionJavaAnnotation( qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? { val javaQualifier = JvmAnnotationNames.RETENTION_ANNOTATION.asString() return tryConvertToJavaAnnotation( @@ -113,7 +112,7 @@ private fun GranularAnnotationsBox.tryConvertToRetentionJavaAnnotation( } private fun SymbolLightLazyAnnotation.tryConvertToRetentionJavaAnnotation( - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = tryConvertToJavaAnnotation( javaQualifier = JvmAnnotationNames.RETENTION_ANNOTATION.asString(), kotlinQualifier = StandardNames.FqNames.retention.asString(), @@ -133,7 +132,7 @@ private fun SymbolLightJavaAnnotation.computeJavaRetentionArguments(): List List = { emptyList() }, ): PsiAnnotation? { if (qualifiedName != javaQualifier) return null @@ -285,7 +284,7 @@ private fun GranularAnnotationsBox.tryConvertToJavaAnnotation( private fun SymbolLightLazyAnnotation.tryConvertToJavaAnnotation( javaQualifier: String, kotlinQualifier: String, - owner: PsiModifierList, + owner: PsiElement, argumentsComputer: SymbolLightJavaAnnotation.() -> List = { emptyList() }, ): PsiAnnotation? { if (qualifiedName != kotlinQualifier) return null diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AdditionalAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AdditionalAnnotationsProvider.kt index 6373f180d79..f8679e3cea1 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AdditionalAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AdditionalAnnotationsProvider.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement /** * This class provides more annotation in addition to [AnnotationsProvider]. @@ -27,7 +27,7 @@ internal sealed interface AdditionalAnnotationsProvider { * @param foundQualifiers a list of already presented qualifiers. Used to optimize computation * @param owner an owner for new annotations */ - fun addAllAnnotations(currentRawAnnotations: MutableList, foundQualifiers: MutableSet, owner: PsiModifierList) + fun addAllAnnotations(currentRawAnnotations: MutableList, foundQualifiers: MutableSet, owner: PsiElement) /** * @return **true** if this qualifier should be treated as a **special** in [GranularAnnotationsBox.findAnnotation] @@ -44,7 +44,7 @@ internal sealed interface AdditionalAnnotationsProvider { * * @return a new annotation with [qualifiedName] */ - fun findSpecialAnnotation(annotationsBox: GranularAnnotationsBox, qualifiedName: String, owner: PsiModifierList): PsiAnnotation? + fun findSpecialAnnotation(annotationsBox: GranularAnnotationsBox, qualifiedName: String, owner: PsiElement): PsiAnnotation? /** * Adds a new annotation with [qualifier] name to [currentRawAnnotations] and [foundQualifiers] if not already present @@ -53,7 +53,7 @@ internal sealed interface AdditionalAnnotationsProvider { qualifier: String, currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList, + owner: PsiElement, ) { val isNewQualifier = foundQualifiers.add(qualifier) if (!isNewQualifier) return @@ -64,6 +64,6 @@ internal sealed interface AdditionalAnnotationsProvider { fun createSimpleAnnotationIfMatches( qualifier: String, expectedQualifier: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = if (qualifier == expectedQualifier) SymbolLightSimpleAnnotation(expectedQualifier, owner) else null } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AnnotationsBox.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AnnotationsBox.kt index 81088cdbcf2..eb93d668717 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AnnotationsBox.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/AnnotationsBox.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement /** * This class is used as a proxy for [com.intellij.psi.PsiAnnotationOwner]. @@ -18,7 +18,7 @@ import com.intellij.psi.PsiModifierList * @see org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightModifierList */ internal sealed interface AnnotationsBox { - fun annotationsArray(owner: PsiModifierList): Array - fun findAnnotation(owner: PsiModifierList, qualifiedName: String): PsiAnnotation? - fun hasAnnotation(owner: PsiModifierList, qualifiedName: String): Boolean = findAnnotation(owner, qualifiedName) != null + fun annotationsArray(owner: PsiElement): Array + fun findAnnotation(owner: PsiElement, qualifiedName: String): PsiAnnotation? + fun hasAnnotation(owner: PsiElement, qualifiedName: String): Boolean = findAnnotation(owner, qualifiedName) != null } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CollectionAdditionalAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CollectionAdditionalAnnotationsProvider.kt index cf8a0a837d8..cb296d4deb2 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CollectionAdditionalAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CollectionAdditionalAnnotationsProvider.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement internal class CollectionAdditionalAnnotationsProvider( private val additionalAnnotationQualifiers: Collection, @@ -16,7 +16,7 @@ internal class CollectionAdditionalAnnotationsProvider( override fun addAllAnnotations( currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList, + owner: PsiElement, ) { additionalAnnotationQualifiers.forEach { qualifiedName -> addSimpleAnnotationIfMissing(qualifiedName, currentRawAnnotations, foundQualifiers, owner) @@ -26,7 +26,7 @@ internal class CollectionAdditionalAnnotationsProvider( override fun findSpecialAnnotation( annotationsBox: GranularAnnotationsBox, qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? { if (qualifiedName !in additionalAnnotationQualifiers) return null diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CompositeAdditionalAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CompositeAdditionalAnnotationsProvider.kt index 399ef922271..1e3e55767a6 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CompositeAdditionalAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/CompositeAdditionalAnnotationsProvider.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement internal class CompositeAdditionalAnnotationsProvider(val providers: List) : AdditionalAnnotationsProvider { constructor(vararg providers: AdditionalAnnotationsProvider) : this(providers.toList()) @@ -14,7 +14,7 @@ internal class CompositeAdditionalAnnotationsProvider(val providers: List, foundQualifiers: MutableSet, - owner: PsiModifierList, + owner: PsiElement, ) { providers.forEach { provider -> provider.addAllAnnotations(currentRawAnnotations, foundQualifiers, owner) @@ -24,7 +24,7 @@ internal class CompositeAdditionalAnnotationsProvider(val providers: List provider.findSpecialAnnotation(annotationsBox, qualifiedName, owner) } override fun isSpecialQualifier(qualifiedName: String): Boolean = providers.any { it.isSpecialQualifier(qualifiedName) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/ComputeAllAtOnceAnnotationsBox.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/ComputeAllAtOnceAnnotationsBox.kt index 6a45a555f92..6543d8cd129 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/ComputeAllAtOnceAnnotationsBox.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/ComputeAllAtOnceAnnotationsBox.kt @@ -1,22 +1,22 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.light.classes.symbol.toArrayIfNotEmptyOrDefault import java.util.concurrent.atomic.AtomicReferenceFieldUpdater internal class ComputeAllAtOnceAnnotationsBox( - private val annotationsComputer: (PsiModifierList) -> Collection, + private val annotationsComputer: (PsiElement) -> Collection, ) : AnnotationsBox { @Volatile private var cachedAnnotations: Collection? = null - private fun getOrComputeAnnotations(owner: PsiModifierList): Collection { + private fun getOrComputeAnnotations(owner: PsiElement): Collection { cachedAnnotations?.let { return it } val nonCachedAnnotations = annotationsComputer(owner) @@ -26,11 +26,11 @@ internal class ComputeAllAtOnceAnnotationsBox( } override fun annotationsArray( - owner: PsiModifierList, + owner: PsiElement, ): Array = getOrComputeAnnotations(owner).toArrayIfNotEmptyOrDefault(PsiAnnotation.EMPTY_ARRAY) override fun findAnnotation( - owner: PsiModifierList, + owner: PsiElement, qualifiedName: String, ): PsiAnnotation? = getOrComputeAnnotations(owner).find { it.qualifiedName == qualifiedName } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/DeprecatedAdditionalAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/DeprecatedAdditionalAnnotationsProvider.kt index 71b1650e3b1..c8fffa0bed6 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/DeprecatedAdditionalAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/DeprecatedAdditionalAnnotationsProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -7,14 +7,14 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiDocCommentOwner -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.load.java.JvmAnnotationNames internal object DeprecatedAdditionalAnnotationsProvider : AdditionalAnnotationsProvider { override fun addAllAnnotations( currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList + owner: PsiElement ) { if ((owner.parent as? PsiDocCommentOwner)?.isDeprecated == true) { addSimpleAnnotationIfMissing(JvmAnnotationNames.DEPRECATED_ANNOTATION.asString(), currentRawAnnotations, foundQualifiers, owner) @@ -26,7 +26,7 @@ internal object DeprecatedAdditionalAnnotationsProvider : AdditionalAnnotationsP override fun findSpecialAnnotation( annotationsBox: GranularAnnotationsBox, qualifiedName: String, - owner: PsiModifierList + owner: PsiElement ): PsiAnnotation? = if ((owner.parent as? PsiDocCommentOwner)?.isDeprecated == true) createSimpleAnnotationIfMatches( qualifier = qualifiedName, diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAdditionalAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAdditionalAnnotationsProvider.kt index 6d8f17a41f9..c220f6faa4e 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAdditionalAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAdditionalAnnotationsProvider.kt @@ -1,24 +1,24 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement internal object EmptyAdditionalAnnotationsProvider : AdditionalAnnotationsProvider { override fun addAllAnnotations( currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList, + owner: PsiElement, ) = Unit override fun findSpecialAnnotation( annotationsBox: GranularAnnotationsBox, qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = null override fun isSpecialQualifier(qualifiedName: String): Boolean = false diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAnnotationsBox.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAnnotationsBox.kt index b8709f6707a..d73b8a2c4be 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAnnotationsBox.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/EmptyAnnotationsBox.kt @@ -1,14 +1,14 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement internal object EmptyAnnotationsBox : AnnotationsBox { - override fun annotationsArray(owner: PsiModifierList): Array = PsiAnnotation.EMPTY_ARRAY - override fun findAnnotation(owner: PsiModifierList, qualifiedName: String): PsiAnnotation? = null + override fun annotationsArray(owner: PsiElement): Array = PsiAnnotation.EMPTY_ARRAY + override fun findAnnotation(owner: PsiElement, qualifiedName: String): PsiAnnotation? = null } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/GranularAnnotationsBox.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/GranularAnnotationsBox.kt index 419854439dd..6b38df9e559 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/GranularAnnotationsBox.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/GranularAnnotationsBox.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.light.classes.symbol.toArrayIfNotEmptyOrDefault import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.JvmStandardClassIds @@ -22,7 +22,7 @@ internal class GranularAnnotationsBox( @Volatile private var cachedAnnotations: Collection? = null - private fun getOrComputeCachedAnnotations(owner: PsiModifierList): Collection { + private fun getOrComputeCachedAnnotations(owner: PsiElement): Collection { cachedAnnotations?.let { return it } val annotations = annotationsProvider.annotationInfos().mapNotNullTo(SmartList()) { applicationInfo -> @@ -40,16 +40,16 @@ internal class GranularAnnotationsBox( return getOrComputeCachedAnnotations(owner) } - override fun annotationsArray(owner: PsiModifierList): Array { + override fun annotationsArray(owner: PsiElement): Array { return getOrComputeCachedAnnotations(owner).toArrayIfNotEmptyOrDefault(PsiAnnotation.EMPTY_ARRAY) } override fun findAnnotation( - owner: PsiModifierList, + owner: PsiElement, qualifiedName: String, ): PsiAnnotation? = findAnnotation(owner, qualifiedName, withAdditionalAnnotations = true) - fun findAnnotation(owner: PsiModifierList, qualifiedName: String, withAdditionalAnnotations: Boolean): PsiAnnotation? { + fun findAnnotation(owner: PsiElement, qualifiedName: String, withAdditionalAnnotations: Boolean): PsiAnnotation? { if (!annotationFilter.isAllowed(qualifiedName)) return null cachedAnnotations?.let { annotations -> @@ -68,7 +68,7 @@ internal class GranularAnnotationsBox( return getOrComputeCachedAnnotations(owner).find { it.qualifiedName == qualifiedName } } - override fun hasAnnotation(owner: PsiModifierList, qualifiedName: String): Boolean { + override fun hasAnnotation(owner: PsiElement, qualifiedName: String): Boolean { if (!annotationFilter.isAllowed(qualifiedName)) return false cachedAnnotations?.let { annotations -> @@ -93,14 +93,14 @@ internal class GranularAnnotationsBox( /** * We can safety reduce resolve only for annotations without arguments * - * @see org.jetbrains.kotlin.fir.resolve.transformers.plugin.CompilerRequiredAnnotationsHelper + * @see org.jetbrains.kotlin.fir.declarations.FirAnnotationsPlatformSpecificSupportComponent */ private val specialAnnotationsListWithSafeArgumentsResolve: Map = listOf( JvmStandardClassIds.Annotations.JvmRecord, ).associateBy { it.asFqNameString() } /** - * @see org.jetbrains.kotlin.fir.resolve.transformers.plugin.CompilerRequiredAnnotationsHelper + * @see org.jetbrains.kotlin.fir.declarations.FirAnnotationsPlatformSpecificSupportComponent */ private val specialAnnotationsList: Map = listOf( StandardClassIds.Annotations.Deprecated, diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/MethodAdditionalAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/MethodAdditionalAnnotationsProvider.kt index e6c290f51cb..cdc2f5ea889 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/MethodAdditionalAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/MethodAdditionalAnnotationsProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiElement -import com.intellij.psi.PsiModifierList import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase import org.jetbrains.kotlin.load.java.JvmAnnotationNames @@ -15,7 +14,7 @@ internal object MethodAdditionalAnnotationsProvider : AdditionalAnnotationsProvi override fun addAllAnnotations( currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList, + owner: PsiElement, ) { if (owner.parent.isMethodWithOverride()) { addSimpleAnnotationIfMissing(JvmAnnotationNames.OVERRIDE_ANNOTATION.asString(), currentRawAnnotations, foundQualifiers, owner) @@ -25,7 +24,7 @@ internal object MethodAdditionalAnnotationsProvider : AdditionalAnnotationsProvi override fun findSpecialAnnotation( annotationsBox: GranularAnnotationsBox, qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? = if (owner.parent.isMethodWithOverride()) createSimpleAnnotationIfMatches( qualifier = qualifiedName, diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/NullabilityAnnotationsProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/NullabilityAnnotationsProvider.kt index 81faa9ab7ed..cce2522a91e 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/NullabilityAnnotationsProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/NullabilityAnnotationsProvider.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotation -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.light.classes.symbol.NullabilityType import org.jetbrains.kotlin.load.java.JvmAnnotationNames @@ -17,7 +17,7 @@ internal class NullabilityAnnotationsProvider(private val lazyNullabilityType: L override fun addAllAnnotations( currentRawAnnotations: MutableList, foundQualifiers: MutableSet, - owner: PsiModifierList + owner: PsiElement ) { val qualifier = lazyNullabilityType.qualifier ?: return addSimpleAnnotationIfMissing(qualifier, currentRawAnnotations, foundQualifiers, owner) @@ -26,7 +26,7 @@ internal class NullabilityAnnotationsProvider(private val lazyNullabilityType: L override fun findSpecialAnnotation( annotationsBox: GranularAnnotationsBox, qualifiedName: String, - owner: PsiModifierList, + owner: PsiElement, ): PsiAnnotation? { if (!qualifiedName.isNullOrNotNullQualifiedName) { return null diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightJavaAnnotation.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightJavaAnnotation.kt index 9d54fc2f8a7..0dba5740614 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightJavaAnnotation.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightJavaAnnotation.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotationParameterList -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.analysis.api.annotations.KtNamedAnnotationValue import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.psi.KtCallElement @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.psi.KtCallElement internal open class SymbolLightJavaAnnotation( val originalLightAnnotation: SymbolLightLazyAnnotation, private val javaQualifier: String, - owner: PsiModifierList, + owner: PsiElement, private val argumentsComputer: SymbolLightJavaAnnotation.() -> List, ) : SymbolLightAbstractAnnotation(owner) { override fun createReferenceInformationProvider(): ReferenceInformationProvider = ReferenceInformationHolder( diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt index 6d0dd973286..797b64eb20e 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.PsiAnnotationParameterList -import com.intellij.psi.PsiModifierList +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo import org.jetbrains.kotlin.asJava.classes.lazyPub @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.psi.KtCallElement internal class SymbolLightLazyAnnotation( val annotationsProvider: AnnotationsProvider, private val annotationApplication: KtAnnotationApplication, - owner: PsiModifierList, + owner: PsiElement, ) : SymbolLightAbstractAnnotation(owner) { init { requireNotNull(annotationApplication.classId)