[FIR] move deprecation calculation to COMPILER_REQUIRED_ANNOTATIONS phase

Also, this change adds SinceKotlin and Java.Deprecated to this phase
It fixes some problems with API_NOT_AVAILABLE, so now it is closer to K1

^KT-57648 Fixed
^KT-55723 Fixed
This commit is contained in:
Dmitrii Gridin
2023-05-10 16:26:25 +02:00
committed by Space Team
parent add47aa041
commit 9a267176f5
23 changed files with 171 additions and 122 deletions
@@ -45,7 +45,6 @@ internal class KtFirSymbolInfoProvider(
return when (val firSymbol = symbol.firSymbol) {
is FirPropertySymbol -> {
firSymbol.getDeprecationForCallSite(apiVersion, AnnotationUseSiteTarget.PROPERTY)
?: firSymbol.backingFieldSymbol?.getDeprecationForCallSite(apiVersion, AnnotationUseSiteTarget.FIELD)
}
is FirBackingFieldSymbol -> {
firSymbol.getDeprecationForCallSite(apiVersion, AnnotationUseSiteTarget.FIELD)
@@ -77,13 +76,21 @@ internal class KtFirSymbolInfoProvider(
override fun getGetterDeprecation(symbol: KtPropertySymbol): DeprecationInfo? {
require(symbol is KtFirSymbol<*>)
return symbol.firSymbol.getDeprecationForCallSite(apiVersion, AnnotationUseSiteTarget.PROPERTY_GETTER, AnnotationUseSiteTarget.PROPERTY)
return symbol.firSymbol.getDeprecationForCallSite(
apiVersion,
AnnotationUseSiteTarget.PROPERTY_GETTER,
AnnotationUseSiteTarget.PROPERTY,
)
}
override fun getSetterDeprecation(symbol: KtPropertySymbol): DeprecationInfo? {
require(symbol is KtFirSymbol<*>)
return symbol.firSymbol.getDeprecationForCallSite(apiVersion, AnnotationUseSiteTarget.PROPERTY_SETTER, AnnotationUseSiteTarget.PROPERTY)
return symbol.firSymbol.getDeprecationForCallSite(
apiVersion,
AnnotationUseSiteTarget.PROPERTY_SETTER,
AnnotationUseSiteTarget.PROPERTY,
)
}
override fun getJavaGetterName(symbol: KtPropertySymbol): Name {