Unify Deprecation classes from :core:compiler.common and :compiler:frontend modules
This commit is contained in:
+2
-3
@@ -10,12 +10,11 @@ import com.intellij.psi.PsiAnnotation
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.NotNull
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.jetbrains.kotlin.descriptors.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtFileSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotatedSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSimpleConstantValue
|
||||
import org.jetbrains.kotlin.name.StandardClassIds
|
||||
|
||||
internal fun KtAnnotatedSymbol.hasJvmSyntheticAnnotation(annotationUseSiteTarget: AnnotationUseSiteTarget? = null): Boolean =
|
||||
hasAnnotation("kotlin/jvm/JvmSynthetic", annotationUseSiteTarget)
|
||||
@@ -41,7 +40,7 @@ internal fun isHiddenByDeprecation(
|
||||
annotationUseSiteTarget: AnnotationUseSiteTarget? = null
|
||||
): Boolean {
|
||||
return project.analyzeWithSymbolAsContext(symbol) {
|
||||
symbol.getDeprecationStatus(annotationUseSiteTarget)?.level == DeprecationLevelValue.HIDDEN
|
||||
symbol.getDeprecationStatus(annotationUseSiteTarget)?.deprecationLevel == DeprecationLevelValue.HIDDEN
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -5,8 +5,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.analysis.checkers.expression
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Deprecation
|
||||
import org.jetbrains.kotlin.descriptors.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirFakeSourceElementKind
|
||||
import org.jetbrains.kotlin.fir.FirRealSourceElementKind
|
||||
@@ -58,7 +58,7 @@ object FirDeprecationChecker : FirBasicExpressionChecker() {
|
||||
reporter: DiagnosticReporter,
|
||||
context: CheckerContext
|
||||
) {
|
||||
val diagnostic = when (deprecation.level) {
|
||||
val diagnostic = when (deprecation.deprecationLevel) {
|
||||
DeprecationLevelValue.ERROR, DeprecationLevelValue.HIDDEN -> FirErrors.DEPRECATION_ERROR
|
||||
DeprecationLevelValue.WARNING -> FirErrors.DEPRECATION
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.config.ApiVersion
|
||||
import org.jetbrains.kotlin.descriptors.Deprecation
|
||||
import org.jetbrains.kotlin.descriptors.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.deprecation.SimpleDeprecation
|
||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
|
||||
@@ -126,7 +127,7 @@ private fun List<FirAnnotationCall>.extractDeprecationInfoPerUseSite(
|
||||
|
||||
appliedLevel?.let {
|
||||
val inheritable = !fromJavaAnnotation && !fromJava
|
||||
deprecated.useSiteTarget to Deprecation(it, inheritable, deprecated.getStringArgument(MESSAGE_NAME))
|
||||
deprecated.useSiteTarget to SimpleDeprecation(it, inheritable, deprecated.getStringArgument(MESSAGE_NAME))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.resolve.calls
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.FirVisibilityChecker
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
@@ -310,7 +310,7 @@ internal object CheckDeprecatedSinceKotlin : ResolutionStage() {
|
||||
override suspend fun check(candidate: Candidate, callInfo: CallInfo, sink: CheckerSink, context: ResolutionContext) {
|
||||
val symbol = candidate.symbol as? FirCallableSymbol<*> ?: return
|
||||
val deprecation = symbol.getDeprecation(callInfo.callSite)
|
||||
if (deprecation != null && deprecation.level == DeprecationLevelValue.HIDDEN) {
|
||||
if (deprecation != null && deprecation.deprecationLevel == DeprecationLevelValue.HIDDEN) {
|
||||
sink.yieldDiagnostic(HiddenCandidate)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.resolve.diagnostics
|
||||
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import org.jetbrains.kotlin.descriptors.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.utils.keysToMap
|
||||
import org.jetbrains.kotlin.utils.keysToMapExceptNulls
|
||||
@@ -59,8 +59,8 @@ class DeprecationsPerUseSite(
|
||||
|
||||
fun inheritableOnly(): DeprecationsPerUseSite =
|
||||
DeprecationsPerUseSite(
|
||||
all?.takeIf { it.inheritable },
|
||||
bySpecificSite?.filterValues { it.inheritable }
|
||||
all?.takeIf { it.propagatesToOverrides },
|
||||
bySpecificSite?.filterValues { it.propagatesToOverrides }
|
||||
)
|
||||
|
||||
override fun toString(): String =
|
||||
|
||||
@@ -25,7 +25,7 @@ internal sealed class DeprecatedByAnnotation(
|
||||
val annotation: AnnotationDescriptor,
|
||||
override val target: DeclarationDescriptor,
|
||||
override val propagatesToOverrides: Boolean
|
||||
) : Deprecation {
|
||||
) : DescriptorBasedDeprecation() {
|
||||
override val message: String?
|
||||
get() = annotation.argumentValue("message")?.safeAs<StringValue>()?.value
|
||||
|
||||
@@ -111,13 +111,13 @@ internal sealed class DeprecatedByAnnotation(
|
||||
}
|
||||
}
|
||||
|
||||
internal data class DeprecatedByOverridden(private val deprecations: Collection<Deprecation>) : Deprecation {
|
||||
internal data class DeprecatedByOverridden(private val deprecations: Collection<DescriptorBasedDeprecation>) : DescriptorBasedDeprecation() {
|
||||
init {
|
||||
assert(deprecations.isNotEmpty())
|
||||
assert(deprecations.none { it is DeprecatedByOverridden })
|
||||
}
|
||||
|
||||
override val deprecationLevel: DeprecationLevelValue = deprecations.map(Deprecation::deprecationLevel).minOrNull()!!
|
||||
override val deprecationLevel: DeprecationLevelValue = deprecations.map(DescriptorBasedDeprecation::deprecationLevel).minOrNull()!!
|
||||
|
||||
override val target: DeclarationDescriptor
|
||||
get() = deprecations.first().target
|
||||
@@ -134,8 +134,8 @@ internal data class DeprecatedByOverridden(private val deprecations: Collection<
|
||||
|
||||
internal data class DeprecatedOperatorMod(
|
||||
val languageVersionSettings: LanguageVersionSettings,
|
||||
val currentDeprecation: Deprecation
|
||||
) : Deprecation {
|
||||
val currentDeprecation: DescriptorBasedDeprecation
|
||||
) : DescriptorBasedDeprecation() {
|
||||
init {
|
||||
assert(shouldWarnAboutDeprecatedModFromBuiltIns(languageVersionSettings)) {
|
||||
"Deprecation created for mod that shouldn't have any deprecations; languageVersionSettings: $languageVersionSettings"
|
||||
@@ -159,7 +159,7 @@ internal data class DeprecatedOperatorMod(
|
||||
internal data class DeprecatedByVersionRequirement(
|
||||
val versionRequirement: VersionRequirement,
|
||||
override val target: DeclarationDescriptor
|
||||
) : Deprecation {
|
||||
) : DescriptorBasedDeprecation() {
|
||||
override val deprecationLevel: DeprecationLevelValue
|
||||
get() = when (versionRequirement.level) {
|
||||
DeprecationLevel.WARNING -> WARNING
|
||||
@@ -189,7 +189,7 @@ internal data class DeprecatedByVersionRequirement(
|
||||
internal data class DeprecatedTypealiasByAnnotation(
|
||||
val typeAliasTarget: TypeAliasDescriptor,
|
||||
val nested: DeprecatedByAnnotation
|
||||
) : Deprecation {
|
||||
) : DescriptorBasedDeprecation() {
|
||||
override val target get() = typeAliasTarget
|
||||
override val deprecationLevel get() = nested.deprecationLevel
|
||||
override val message get() = nested.message
|
||||
|
||||
+10
-10
@@ -51,7 +51,7 @@ class DeprecationResolver(
|
||||
descriptor.checkSinceKotlinVersionAccessibility(languageVersionSettings)
|
||||
}
|
||||
|
||||
fun getDeprecations(descriptor: DeclarationDescriptor): List<Deprecation> =
|
||||
fun getDeprecations(descriptor: DeclarationDescriptor): List<DescriptorBasedDeprecation> =
|
||||
deprecations(descriptor.original)
|
||||
|
||||
fun isDeprecatedHidden(descriptor: DeclarationDescriptor): Boolean =
|
||||
@@ -99,8 +99,8 @@ class DeprecationResolver(
|
||||
return isDeprecatedHidden(descriptor)
|
||||
}
|
||||
|
||||
private fun KotlinType.deprecationsByConstituentTypes(): List<Deprecation> =
|
||||
SmartList<Deprecation>().also { deprecations ->
|
||||
private fun KotlinType.deprecationsByConstituentTypes(): List<DescriptorBasedDeprecation> =
|
||||
SmartList<DescriptorBasedDeprecation>().also { deprecations ->
|
||||
TypeUtils.contains(this) { type ->
|
||||
type.constructor.declarationDescriptor?.let {
|
||||
deprecations.addAll(getDeprecations(it))
|
||||
@@ -109,9 +109,9 @@ class DeprecationResolver(
|
||||
}
|
||||
}
|
||||
|
||||
private fun deprecationByOverridden(root: CallableMemberDescriptor): Deprecation? {
|
||||
private fun deprecationByOverridden(root: CallableMemberDescriptor): DescriptorBasedDeprecation? {
|
||||
val visited = HashSet<CallableMemberDescriptor>()
|
||||
val deprecations = LinkedHashSet<Deprecation>()
|
||||
val deprecations = LinkedHashSet<DescriptorBasedDeprecation>()
|
||||
var hasUndeprecatedOverridden = false
|
||||
|
||||
fun traverse(node: CallableMemberDescriptor) {
|
||||
@@ -159,12 +159,12 @@ class DeprecationResolver(
|
||||
//
|
||||
// Also, we don't ignore non-propagating deprecations in case of fake overrides
|
||||
// Because we don't want to depend on the choice of the base descriptor
|
||||
if (root.kind.isReal && deprecations.none(Deprecation::propagatesToOverrides)) return null
|
||||
if (root.kind.isReal && deprecations.none(DescriptorBasedDeprecation::propagatesToOverrides)) return null
|
||||
|
||||
return DeprecatedByOverridden(deprecations)
|
||||
}
|
||||
|
||||
private fun DeclarationDescriptor.getOwnDeprecations(): List<Deprecation> {
|
||||
private fun DeclarationDescriptor.getOwnDeprecations(): List<DescriptorBasedDeprecation> {
|
||||
// The problem is that declaration `mod` in built-ins has @Deprecated annotation but actually it was deprecated only in version 1.1
|
||||
if (isBuiltInOperatorMod && !shouldWarnAboutDeprecatedModFromBuiltIns(languageVersionSettings)) {
|
||||
return emptyList()
|
||||
@@ -175,7 +175,7 @@ class DeprecationResolver(
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
val result = SmartList<Deprecation>()
|
||||
val result = SmartList<DescriptorBasedDeprecation>()
|
||||
|
||||
addDeprecationIfPresent(result)
|
||||
|
||||
@@ -197,7 +197,7 @@ class DeprecationResolver(
|
||||
return result.distinct()
|
||||
}
|
||||
|
||||
private fun DeclarationDescriptor.addDeprecationIfPresent(result: MutableList<Deprecation>) {
|
||||
private fun DeclarationDescriptor.addDeprecationIfPresent(result: MutableList<DescriptorBasedDeprecation>) {
|
||||
val annotation = annotations.findAnnotation(StandardNames.FqNames.deprecated) ?: annotations.findAnnotation(JAVA_DEPRECATED)
|
||||
if (annotation != null) {
|
||||
val deprecatedByAnnotation =
|
||||
@@ -238,7 +238,7 @@ class DeprecationResolver(
|
||||
descriptor.valueParameters.singleOrNull()?.type?.let(KotlinBuiltIns::isInt) == true &&
|
||||
languageVersionSettings.apiVersion < ApiVersion.KOTLIN_1_3
|
||||
|
||||
private fun getDeprecationFromUserData(target: DeclarationDescriptor): Deprecation? =
|
||||
private fun getDeprecationFromUserData(target: DeclarationDescriptor): DescriptorBasedDeprecation? =
|
||||
target.safeAs<CallableDescriptor>()?.getUserData(DEPRECATED_FUNCTION_KEY)
|
||||
|
||||
private fun getDeprecationByVersionRequirement(target: DeclarationDescriptor): List<DeprecatedByVersionRequirement> {
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.config.ApiVersion
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.container.DefaultImplementation
|
||||
import org.jetbrains.kotlin.container.PlatformSpecificExtension
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.Errors
|
||||
@@ -18,9 +17,9 @@ import org.jetbrains.kotlin.resolve.constants.StringValue
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue.*
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
|
||||
fun Deprecation.deprecatedByOverriddenMessage(): String? = (this as? DeprecatedByOverridden)?.additionalMessage()
|
||||
fun DescriptorBasedDeprecation.deprecatedByOverriddenMessage(): String? = (this as? DeprecatedByOverridden)?.additionalMessage()
|
||||
|
||||
fun Deprecation.deprecatedByAnnotationReplaceWithExpression(): String? = (this as? DeprecatedByAnnotation)?.replaceWithValue
|
||||
fun DescriptorBasedDeprecation.deprecatedByAnnotationReplaceWithExpression(): String? = (this as? DeprecatedByAnnotation)?.replaceWithValue
|
||||
|
||||
// The function extracts value of warningSince/errorSince/hiddenSince from DeprecatedSinceKotlin annotation
|
||||
fun AnnotationDescriptor.getSinceVersion(name: String): ApiVersion? =
|
||||
@@ -40,7 +39,7 @@ fun computeLevelForDeprecatedSinceKotlin(annotation: AnnotationDescriptor, apiVe
|
||||
}
|
||||
|
||||
internal fun createDeprecationDiagnostic(
|
||||
element: PsiElement, deprecation: Deprecation, languageVersionSettings: LanguageVersionSettings
|
||||
element: PsiElement, deprecation: DescriptorBasedDeprecation, languageVersionSettings: LanguageVersionSettings
|
||||
): Diagnostic {
|
||||
val targetOriginal = deprecation.target.original
|
||||
return when (deprecation) {
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2021 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.descriptors
|
||||
|
||||
data class Deprecation(
|
||||
val level: DeprecationLevelValue,
|
||||
val inheritable: Boolean,
|
||||
val message: String? = null
|
||||
) : Comparable<Deprecation> {
|
||||
override fun compareTo(other: Deprecation): Int {
|
||||
val lr = level.compareTo(other.level)
|
||||
//to prefer inheritable deprecation
|
||||
return if (lr == 0 && !inheritable && other.inheritable) 1
|
||||
else lr
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This corresponds to [DeprecationLevel] in Kotlin standard library. A symbol annotated with [java.lang.Deprecated] is considered a
|
||||
* warning.
|
||||
*/
|
||||
enum class DeprecationLevelValue {
|
||||
WARNING, ERROR, HIDDEN
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright 2010-2021 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.resolve.deprecation
|
||||
|
||||
abstract class Deprecation : Comparable<Deprecation> {
|
||||
abstract val deprecationLevel: DeprecationLevelValue
|
||||
abstract val propagatesToOverrides: Boolean
|
||||
abstract val message: String?
|
||||
|
||||
override fun compareTo(other: Deprecation): Int {
|
||||
val lr = deprecationLevel.compareTo(other.deprecationLevel)
|
||||
//to prefer inheritable deprecation
|
||||
return if (lr == 0 && !propagatesToOverrides && other.propagatesToOverrides) 1
|
||||
else lr
|
||||
}
|
||||
}
|
||||
|
||||
data class SimpleDeprecation(
|
||||
override val deprecationLevel: DeprecationLevelValue,
|
||||
override val propagatesToOverrides: Boolean,
|
||||
override val message: String?
|
||||
) : Deprecation()
|
||||
|
||||
/**
|
||||
* This corresponds to [DeprecationLevel] in Kotlin standard library. A symbol annotated with [java.lang.Deprecated] is considered a
|
||||
* warning.
|
||||
*/
|
||||
enum class DeprecationLevelValue {
|
||||
WARNING, ERROR, HIDDEN
|
||||
}
|
||||
@@ -20,13 +20,13 @@ import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DescriptorBasedDeprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
|
||||
|
||||
class DeprecationCausedByFunctionN(override val target: DeclarationDescriptor) : Deprecation {
|
||||
class DeprecationCausedByFunctionN(override val target: DeclarationDescriptor) : DescriptorBasedDeprecation() {
|
||||
override val deprecationLevel: DeprecationLevelValue
|
||||
get() = DeprecationLevelValue.ERROR
|
||||
override val message: String?
|
||||
override val message: String
|
||||
get() = "Java members containing references to ${JavaToKotlinClassMap.FUNCTION_N_FQ_NAME} are not supported"
|
||||
}
|
||||
|
||||
|
||||
+6
-11
@@ -8,16 +8,11 @@ package org.jetbrains.kotlin.resolve.deprecation
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
|
||||
interface Deprecation {
|
||||
val deprecationLevel: DeprecationLevelValue
|
||||
val message: String?
|
||||
val target: DeclarationDescriptor
|
||||
val propagatesToOverrides: Boolean get() = true
|
||||
abstract class DescriptorBasedDeprecation : Deprecation() {
|
||||
override val propagatesToOverrides: Boolean
|
||||
get() = true
|
||||
|
||||
abstract val target: DeclarationDescriptor
|
||||
}
|
||||
|
||||
// values from kotlin.DeprecationLevel
|
||||
enum class DeprecationLevelValue {
|
||||
WARNING, ERROR, HIDDEN
|
||||
}
|
||||
|
||||
val DEPRECATED_FUNCTION_KEY = object : CallableDescriptor.UserDataKey<Deprecation> {}
|
||||
val DEPRECATED_FUNCTION_KEY = object : CallableDescriptor.UserDataKey<DescriptorBasedDeprecation> {}
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.frontend.api.components
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
|
||||
@@ -41,4 +41,4 @@ public interface KtSymbolInfoProviderMixIn : KtAnalysisSessionMixIn {
|
||||
*/
|
||||
public val KtPropertySymbol.setterDeprecationStatus: Deprecation?
|
||||
get() = analysisSession.symbolInfoProvider.getSetterDeprecation(this)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.frontend.api.symbols
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.idea.frontend.api.components.KtSymbolInfoProviderMixIn
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.*
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.frontend.api.fir.components
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Deprecation
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.fir.declarations.getDeprecationForCallSite
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
@@ -59,4 +59,4 @@ internal class KtFirSymbolInfoProvider(
|
||||
it.symbol.getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY_SETTER, AnnotationUseSiteTarget.PROPERTY)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -320,7 +320,7 @@ KtFirFunctionSymbol:
|
||||
KtFirValueParameterSymbol(p3)
|
||||
]
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=false, message=Deprecated in Java)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=Deprecated in Java)
|
||||
|
||||
KtFirFunctionSymbol:
|
||||
annotatedType: [] ft<kotlin/ByteArray, kotlin/ByteArray?>
|
||||
@@ -1721,7 +1721,7 @@ KtFirConstructorSymbol:
|
||||
KtFirValueParameterSymbol(p3)
|
||||
]
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=false, message=Deprecated in Java)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=Deprecated in Java)
|
||||
|
||||
KtFirConstructorSymbol:
|
||||
annotatedType: [] java/lang/String
|
||||
@@ -1747,7 +1747,7 @@ KtFirConstructorSymbol:
|
||||
KtFirValueParameterSymbol(p1)
|
||||
]
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=false, message=Deprecated in Java)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=Deprecated in Java)
|
||||
|
||||
KtFirConstructorSymbol:
|
||||
annotatedType: [] java/lang/String
|
||||
@@ -1965,4 +1965,4 @@ KtFirConstructorSymbol:
|
||||
KtFirValueParameterSymbol(p2)
|
||||
]
|
||||
visibility: PackageVisibility
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=false, message=Deprecated in Java)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=Deprecated in Java)
|
||||
|
||||
@@ -28,9 +28,9 @@ KtFirKotlinPropertySymbol:
|
||||
setter: null
|
||||
symbolKind: TOP_LEVEL
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use i)
|
||||
getterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use i)
|
||||
setterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use i)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use i)
|
||||
getterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use i)
|
||||
setterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use i)
|
||||
|
||||
KtFirKotlinPropertySymbol:
|
||||
annotatedType: [] kotlin/Int
|
||||
@@ -63,7 +63,7 @@ KtFirKotlinPropertySymbol:
|
||||
symbolKind: TOP_LEVEL
|
||||
visibility: Public
|
||||
deprecationStatus: null
|
||||
getterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use getter of i2)
|
||||
getterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use getter of i2)
|
||||
setterDeprecationStatus: null
|
||||
|
||||
KtFirKotlinPropertySymbol:
|
||||
@@ -98,7 +98,7 @@ KtFirKotlinPropertySymbol:
|
||||
visibility: Public
|
||||
deprecationStatus: null
|
||||
getterDeprecationStatus: null
|
||||
setterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use getter of i3)
|
||||
setterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use getter of i3)
|
||||
|
||||
KtFirKotlinPropertySymbol:
|
||||
annotatedType: [] kotlin/Int
|
||||
@@ -134,8 +134,8 @@ KtFirKotlinPropertySymbol:
|
||||
symbolKind: TOP_LEVEL
|
||||
visibility: Public
|
||||
deprecationStatus: null
|
||||
getterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use getter of i4)
|
||||
setterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use getter of i4)
|
||||
getterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use getter of i4)
|
||||
setterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use getter of i4)
|
||||
|
||||
KtFirFunctionSymbol:
|
||||
annotatedType: [] kotlin/Int
|
||||
@@ -165,7 +165,7 @@ KtFirFunctionSymbol:
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use f)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use f)
|
||||
|
||||
KtFirNamedClassOrObjectSymbol:
|
||||
annotationClassIds: [
|
||||
@@ -192,7 +192,7 @@ KtFirNamedClassOrObjectSymbol:
|
||||
symbolKind: TOP_LEVEL
|
||||
typeParameters: []
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use MyClass)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use MyClass)
|
||||
|
||||
KtFirKotlinPropertySymbol:
|
||||
annotatedType: [] kotlin/Int
|
||||
@@ -224,9 +224,9 @@ KtFirKotlinPropertySymbol:
|
||||
setter: null
|
||||
symbolKind: MEMBER
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use i2)
|
||||
getterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use i2)
|
||||
setterDeprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use i2)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use i2)
|
||||
getterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use i2)
|
||||
setterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use i2)
|
||||
|
||||
KtFirFunctionSymbol:
|
||||
annotatedType: [] kotlin/Int
|
||||
@@ -256,7 +256,7 @@ KtFirFunctionSymbol:
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=true, message=don't use f2)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=true, message=don't use f2)
|
||||
|
||||
KtFirNamedClassOrObjectSymbol:
|
||||
annotationClassIds: []
|
||||
@@ -310,9 +310,9 @@ KtFirKotlinPropertySymbol:
|
||||
setter: null
|
||||
symbolKind: TOP_LEVEL
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=ERROR, inheritable=true, message=null)
|
||||
getterDeprecationStatus: Deprecation(level=ERROR, inheritable=true, message=null)
|
||||
setterDeprecationStatus: Deprecation(level=ERROR, inheritable=true, message=null)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=ERROR, propagatesToOverrides=true, message=null)
|
||||
getterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=ERROR, propagatesToOverrides=true, message=null)
|
||||
setterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=ERROR, propagatesToOverrides=true, message=null)
|
||||
|
||||
KtFirKotlinPropertySymbol:
|
||||
annotatedType: [] kotlin/Int
|
||||
@@ -344,9 +344,9 @@ KtFirKotlinPropertySymbol:
|
||||
setter: null
|
||||
symbolKind: TOP_LEVEL
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=HIDDEN, inheritable=true, message=null)
|
||||
getterDeprecationStatus: Deprecation(level=HIDDEN, inheritable=true, message=null)
|
||||
setterDeprecationStatus: Deprecation(level=HIDDEN, inheritable=true, message=null)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=HIDDEN, propagatesToOverrides=true, message=null)
|
||||
getterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=HIDDEN, propagatesToOverrides=true, message=null)
|
||||
setterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=HIDDEN, propagatesToOverrides=true, message=null)
|
||||
|
||||
KtFirKotlinPropertySymbol:
|
||||
annotatedType: [] kotlin/Int
|
||||
@@ -378,6 +378,6 @@ KtFirKotlinPropertySymbol:
|
||||
setter: null
|
||||
symbolKind: TOP_LEVEL
|
||||
visibility: Public
|
||||
deprecationStatus: Deprecation(level=WARNING, inheritable=false, message=null)
|
||||
getterDeprecationStatus: Deprecation(level=WARNING, inheritable=false, message=null)
|
||||
setterDeprecationStatus: Deprecation(level=WARNING, inheritable=false, message=null)
|
||||
deprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null)
|
||||
getterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null)
|
||||
setterDeprecationStatus: SimpleDeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null)
|
||||
|
||||
Reference in New Issue
Block a user