[FIR] Partial implementation of DEPRECATION(_ERROR) diagnostics
No support for inheritance deprecations and deprecations in qualifier's parts
This commit is contained in:
committed by
teamcityserver
parent
9fad55d551
commit
de3f31cf78
+10
@@ -98,6 +98,16 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
|
|||||||
val UNKNOWN_CALLABLE_KIND by error<PsiElement>()
|
val UNKNOWN_CALLABLE_KIND by error<PsiElement>()
|
||||||
val MISSING_STDLIB_CLASS by error<PsiElement>()
|
val MISSING_STDLIB_CLASS by error<PsiElement>()
|
||||||
val NO_THIS by error<PsiElement>()
|
val NO_THIS by error<PsiElement>()
|
||||||
|
|
||||||
|
val DEPRECATION_ERROR by error<PsiElement>(PositioningStrategy.REFERENCED_NAME_BY_QUALIFIED) {
|
||||||
|
parameter<Symbol>("reference")
|
||||||
|
parameter<String>("message")
|
||||||
|
}
|
||||||
|
|
||||||
|
val DEPRECATION by warning<PsiElement>(PositioningStrategy.REFERENCED_NAME_BY_QUALIFIED) {
|
||||||
|
parameter<Symbol>("reference")
|
||||||
|
parameter<String>("message")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val CALL_RESOLUTION by object : DiagnosticGroup("Call resolution") {
|
val CALL_RESOLUTION by object : DiagnosticGroup("Call resolution") {
|
||||||
|
|||||||
@@ -117,6 +117,8 @@ object FirErrors {
|
|||||||
val UNKNOWN_CALLABLE_KIND by error0<PsiElement>()
|
val UNKNOWN_CALLABLE_KIND by error0<PsiElement>()
|
||||||
val MISSING_STDLIB_CLASS by error0<PsiElement>()
|
val MISSING_STDLIB_CLASS by error0<PsiElement>()
|
||||||
val NO_THIS by error0<PsiElement>()
|
val NO_THIS by error0<PsiElement>()
|
||||||
|
val DEPRECATION_ERROR by error2<PsiElement, FirBasedSymbol<*>, String>(SourceElementPositioningStrategies.REFERENCED_NAME_BY_QUALIFIED)
|
||||||
|
val DEPRECATION by warning2<PsiElement, FirBasedSymbol<*>, String>(SourceElementPositioningStrategies.REFERENCED_NAME_BY_QUALIFIED)
|
||||||
|
|
||||||
// Call resolution
|
// Call resolution
|
||||||
val CREATING_AN_INSTANCE_OF_ABSTRACT_CLASS by error0<KtExpression>()
|
val CREATING_AN_INSTANCE_OF_ABSTRACT_CLASS by error0<KtExpression>()
|
||||||
|
|||||||
+1
@@ -20,6 +20,7 @@ object CommonExpressionCheckers : ExpressionCheckers() {
|
|||||||
get() = setOf(
|
get() = setOf(
|
||||||
FirReservedUnderscoreExpressionChecker,
|
FirReservedUnderscoreExpressionChecker,
|
||||||
FirExpressionAnnotationChecker,
|
FirExpressionAnnotationChecker,
|
||||||
|
FirDeprecationChecker,
|
||||||
)
|
)
|
||||||
|
|
||||||
override val qualifiedAccessExpressionCheckers: Set<FirQualifiedAccessExpressionChecker>
|
override val qualifiedAccessExpressionCheckers: Set<FirQualifiedAccessExpressionChecker>
|
||||||
|
|||||||
+2
-1
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.type.*
|
|||||||
object CommonTypeCheckers : TypeCheckers() {
|
object CommonTypeCheckers : TypeCheckers() {
|
||||||
override val typeRefCheckers: Set<FirTypeRefChecker> = setOf(
|
override val typeRefCheckers: Set<FirTypeRefChecker> = setOf(
|
||||||
FirTypeAnnotationChecker,
|
FirTypeAnnotationChecker,
|
||||||
FirSuspendModifierChecker
|
FirSuspendModifierChecker,
|
||||||
|
FirDeprecatedTypeChecker,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+68
@@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* 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.fir.analysis.checkers.expression
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.fir.*
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.checkers.toRegularClass
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
|
import org.jetbrains.kotlin.fir.expressions.FirResolvable
|
||||||
|
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||||
|
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
|
|
||||||
|
object FirDeprecationChecker : FirBasicExpressionChecker() {
|
||||||
|
|
||||||
|
private val allowedSourceKinds = setOf(
|
||||||
|
FirRealSourceElementKind,
|
||||||
|
FirFakeSourceElementKind.DesugaredIncrementOrDecrement
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun check(expression: FirStatement, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
|
if (!allowedSourceKinds.contains(expression.source?.kind)) return
|
||||||
|
if (expression is FirAnnotationCall) return //checked by FirDeprecatedTypeChecker
|
||||||
|
val resolvable = expression as? FirResolvable ?: return
|
||||||
|
val reference = resolvable.calleeReference as? FirResolvedNamedReference ?: return
|
||||||
|
val referencedFir = reference.resolvedSymbol.fir
|
||||||
|
if (referencedFir !is FirAnnotatedDeclaration) return
|
||||||
|
|
||||||
|
reportDeprecationIfNeeded(expression.source, referencedFir, expression, context, reporter)
|
||||||
|
}
|
||||||
|
|
||||||
|
internal fun <T> reportDeprecationIfNeeded(
|
||||||
|
source: FirSourceElement?,
|
||||||
|
referencedFir: T,
|
||||||
|
callSite: FirElement?,
|
||||||
|
context: CheckerContext,
|
||||||
|
reporter: DiagnosticReporter
|
||||||
|
) where T : FirAnnotatedDeclaration {
|
||||||
|
val deprecation = getWorstDeprecation(callSite, referencedFir, context) ?: return
|
||||||
|
val diagnostic = when (deprecation.level) {
|
||||||
|
DeprecationLevelValue.ERROR, DeprecationLevelValue.HIDDEN -> FirErrors.DEPRECATION_ERROR
|
||||||
|
DeprecationLevelValue.WARNING -> FirErrors.DEPRECATION
|
||||||
|
}
|
||||||
|
reporter.reportOn(source, diagnostic, referencedFir.symbol, deprecation.message ?: "", context)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun <T : FirAnnotatedDeclaration> getWorstDeprecation(
|
||||||
|
callSite: FirElement?,
|
||||||
|
fir: T,
|
||||||
|
context: CheckerContext
|
||||||
|
): Deprecation? {
|
||||||
|
val deprecationInfos = listOfNotNull(
|
||||||
|
fir.getDeprecation(callSite),
|
||||||
|
fir.safeAs<FirConstructor>()?.returnTypeRef
|
||||||
|
?.toRegularClass(context.session)
|
||||||
|
?.getDeprecation(callSite)
|
||||||
|
)
|
||||||
|
return deprecationInfos.maxOrNull()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* 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.fir.analysis.checkers.type
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.checkers.context.findClosest
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirDeprecationChecker
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
|
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||||
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
|
import org.jetbrains.kotlin.fir.types.coneTypeSafe
|
||||||
|
|
||||||
|
object FirDeprecatedTypeChecker : FirTypeRefChecker() {
|
||||||
|
|
||||||
|
override fun check(typeRef: FirTypeRef, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
|
if (context.findClosest<FirPropertyAccessor>() != null) return
|
||||||
|
|
||||||
|
val resolved = typeRef.coneTypeSafe<ConeClassLikeType>() ?: return
|
||||||
|
val symbol = resolved.lookupTag.toSymbol(context.session) ?: return
|
||||||
|
val referencedFir = symbol.fir
|
||||||
|
|
||||||
|
FirDeprecationChecker.reportDeprecationIfNeeded(typeRef.source, referencedFir, null, context, reporter)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+3
@@ -12,10 +12,13 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
|||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.withSuppressedDiagnostics
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.withSuppressedDiagnostics
|
||||||
|
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
|
|
||||||
object FirTypeAnnotationChecker : FirTypeRefChecker() {
|
object FirTypeAnnotationChecker : FirTypeRefChecker() {
|
||||||
override fun check(typeRef: FirTypeRef, context: CheckerContext, reporter: DiagnosticReporter) {
|
override fun check(typeRef: FirTypeRef, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
|
if (typeRef !is FirResolvedTypeRef) return
|
||||||
|
|
||||||
for (annotation in typeRef.annotations) {
|
for (annotation in typeRef.annotations) {
|
||||||
withSuppressedDiagnostics(annotation, context) {
|
withSuppressedDiagnostics(annotation, context) {
|
||||||
val annotationTargets = annotation.getAllowedAnnotationTargets(context.session)
|
val annotationTargets = annotation.getAllowedAnnotationTargets(context.session)
|
||||||
|
|||||||
+9
@@ -180,6 +180,15 @@ abstract class AbstractDiagnosticCollectorVisitor(
|
|||||||
super.visitResolvedTypeRef(resolvedTypeRef, data)
|
super.visitResolvedTypeRef(resolvedTypeRef, data)
|
||||||
}
|
}
|
||||||
if (resolvedTypeRef.source?.kind is FirFakeSourceElementKind) return
|
if (resolvedTypeRef.source?.kind is FirFakeSourceElementKind) return
|
||||||
|
|
||||||
|
//the note about is just wrong
|
||||||
|
//if we don't visit resolved type we can't make any diagnostics on them
|
||||||
|
//so here we check resolvedTypeRef
|
||||||
|
if (resolvedTypeRef.type !is ConeClassErrorType) {
|
||||||
|
withSuppressedDiagnostics(resolvedTypeRef) {
|
||||||
|
checkElement(resolvedTypeRef)
|
||||||
|
}
|
||||||
|
}
|
||||||
resolvedTypeRef.delegatedTypeRef?.accept(this, data)
|
resolvedTypeRef.delegatedTypeRef?.accept(this, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
@@ -110,6 +110,8 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATED_SINCE_
|
|||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATED_SINCE_KOTLIN_WITH_DEPRECATED_LEVEL
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATED_SINCE_KOTLIN_WITH_DEPRECATED_LEVEL
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATED_SINCE_KOTLIN_WITH_UNORDERED_VERSIONS
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATED_SINCE_KOTLIN_WITH_UNORDERED_VERSIONS
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATED_TYPE_PARAMETER_SYNTAX
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATED_TYPE_PARAMETER_SYNTAX
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATION
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DEPRECATION_ERROR
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DESERIALIZATION_ERROR
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DESERIALIZATION_ERROR
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DYNAMIC_UPPER_BOUND
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DYNAMIC_UPPER_BOUND
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.EMPTY_RANGE
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.EMPTY_RANGE
|
||||||
@@ -427,6 +429,8 @@ class FirDefaultErrorMessages {
|
|||||||
map.put(VAL_OR_VAR_ON_FUN_PARAMETER, "''{0}'' on function parameter is not allowed", TO_STRING)
|
map.put(VAL_OR_VAR_ON_FUN_PARAMETER, "''{0}'' on function parameter is not allowed", TO_STRING)
|
||||||
map.put(VAL_OR_VAR_ON_CATCH_PARAMETER, "''{0}'' on catch parameter is not allowed", TO_STRING)
|
map.put(VAL_OR_VAR_ON_CATCH_PARAMETER, "''{0}'' on catch parameter is not allowed", TO_STRING)
|
||||||
map.put(VAL_OR_VAR_ON_SECONDARY_CONSTRUCTOR_PARAMETER, "''{0}'' on secondary constructor parameter is not allowed", TO_STRING)
|
map.put(VAL_OR_VAR_ON_SECONDARY_CONSTRUCTOR_PARAMETER, "''{0}'' on secondary constructor parameter is not allowed", TO_STRING)
|
||||||
|
map.put(DEPRECATION, "''{0}'' is deprecated. {1}", SYMBOL, STRING)
|
||||||
|
map.put(DEPRECATION_ERROR, "''{0}'' is deprecated. {1}", SYMBOL, STRING)
|
||||||
|
|
||||||
// Unresolved
|
// Unresolved
|
||||||
map.put(INVISIBLE_REFERENCE, "Symbol {0} is invisible", SYMBOL)
|
map.put(INVISIBLE_REFERENCE, "Symbol {0} is invisible", SYMBOL)
|
||||||
|
|||||||
+7
@@ -522,6 +522,13 @@ object LightTreePositioningStrategies {
|
|||||||
if (node.tokenType in nodeTypesWithOperation) {
|
if (node.tokenType in nodeTypesWithOperation) {
|
||||||
return markElement(tree.operationReference(node) ?: node, startOffset, endOffset, tree, node)
|
return markElement(tree.operationReference(node) ?: node, startOffset, endOffset, tree, node)
|
||||||
}
|
}
|
||||||
|
if (node.tokenType == KtNodeTypes.TYPE_REFERENCE) {
|
||||||
|
val nodeToMark =
|
||||||
|
tree.findChildByType(node, KtNodeTypes.NULLABLE_TYPE)
|
||||||
|
?.let { tree.findChildByType(it, KtNodeTypes.USER_TYPE) }
|
||||||
|
?: node
|
||||||
|
return markElement(nodeToMark, startOffset, endOffset, tree, node)
|
||||||
|
}
|
||||||
if (node.tokenType != KtNodeTypes.DOT_QUALIFIED_EXPRESSION &&
|
if (node.tokenType != KtNodeTypes.DOT_QUALIFIED_EXPRESSION &&
|
||||||
node.tokenType != KtNodeTypes.SAFE_ACCESS_EXPRESSION &&
|
node.tokenType != KtNodeTypes.SAFE_ACCESS_EXPRESSION &&
|
||||||
node.tokenType != KtNodeTypes.CALLABLE_REFERENCE_EXPRESSION
|
node.tokenType != KtNodeTypes.CALLABLE_REFERENCE_EXPRESSION
|
||||||
|
|||||||
@@ -72,16 +72,17 @@ internal class OneElementArrayMap<T : Any>(val value: T, val index: Int) : Array
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal class ArrayMapImpl<T : Any> private constructor(
|
internal class ArrayMapImpl<T : Any> private constructor(
|
||||||
private var data: Array<Any?>
|
private var data: Array<Any?>,
|
||||||
|
initialSize: Int
|
||||||
) : ArrayMap<T>() {
|
) : ArrayMap<T>() {
|
||||||
companion object {
|
companion object {
|
||||||
private const val DEFAULT_SIZE = 20
|
private const val DEFAULT_SIZE = 20
|
||||||
private const val INCREASE_K = 2
|
private const val INCREASE_K = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor() : this(arrayOfNulls<Any>(DEFAULT_SIZE))
|
constructor() : this(arrayOfNulls<Any>(DEFAULT_SIZE), 0)
|
||||||
|
|
||||||
override var size: Int = 0
|
override var size: Int = initialSize
|
||||||
private set
|
private set
|
||||||
|
|
||||||
|
|
||||||
@@ -104,7 +105,7 @@ internal class ArrayMapImpl<T : Any> private constructor(
|
|||||||
return data.getOrNull(index) as T?
|
return data.getOrNull(index) as T?
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun copy(): ArrayMap<T> = ArrayMapImpl(data.copyOf())
|
override fun copy(): ArrayMap<T> = ArrayMapImpl(data.copyOf(), size)
|
||||||
|
|
||||||
override fun iterator(): Iterator<T> {
|
override fun iterator(): Iterator<T> {
|
||||||
return object : AbstractIterator<T>() {
|
return object : AbstractIterator<T>() {
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ object FirSessionFactory {
|
|||||||
dependencyList.moduleDataProvider,
|
dependencyList.moduleDataProvider,
|
||||||
librariesScope,
|
librariesScope,
|
||||||
project,
|
project,
|
||||||
getPackagePartProvider(librariesScope)
|
getPackagePartProvider(librariesScope),
|
||||||
|
languageVersionSettings
|
||||||
)
|
)
|
||||||
|
|
||||||
val mainModuleData = FirModuleDataImpl(
|
val mainModuleData = FirModuleDataImpl(
|
||||||
|
|||||||
+2
@@ -219,6 +219,8 @@ fun deserializeClassToSymbol(
|
|||||||
|
|
||||||
it.sourceElement = containerSource
|
it.sourceElement = containerSource
|
||||||
|
|
||||||
|
it.replaceDeprecation(it.getDeprecationInfos(session.languageVersionSettings.apiVersion))
|
||||||
|
|
||||||
classProto.getExtensionOrNull(JvmProtoBuf.classModuleName)?.let { idx ->
|
classProto.getExtensionOrNull(JvmProtoBuf.classModuleName)?.let { idx ->
|
||||||
it.moduleName = nameResolver.getString(idx)
|
it.moduleName = nameResolver.getString(idx)
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -6,9 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.deserialization
|
package org.jetbrains.kotlin.fir.deserialization
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.containingClassAttr
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.*
|
import org.jetbrains.kotlin.fir.declarations.builder.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
|
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
|
||||||
@@ -20,7 +18,6 @@ import org.jetbrains.kotlin.fir.expressions.FirExpression
|
|||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionStub
|
import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionStub
|
||||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.toEffectiveVisibility
|
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.computeTypeAttributes
|
import org.jetbrains.kotlin.fir.types.computeTypeAttributes
|
||||||
@@ -360,6 +357,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
this.setter = setter
|
this.setter = setter
|
||||||
this.containerSource = c.containerSource
|
this.containerSource = c.containerSource
|
||||||
this.initializer = c.constDeserializer.loadConstant(proto, symbol.callableId, c.nameResolver)
|
this.initializer = c.constDeserializer.loadConstant(proto, symbol.callableId, c.nameResolver)
|
||||||
|
deprecation = annotations.getDeprecationInfosFromAnnotations(c.session.languageVersionSettings.apiVersion, false)
|
||||||
}.apply {
|
}.apply {
|
||||||
versionRequirementsTable = c.versionRequirementTable
|
versionRequirementsTable = c.versionRequirementTable
|
||||||
}
|
}
|
||||||
@@ -421,6 +419,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
)
|
)
|
||||||
annotations +=
|
annotations +=
|
||||||
c.annotationDeserializer.loadFunctionAnnotations(c.containerSource, proto, local.nameResolver, local.typeTable)
|
c.annotationDeserializer.loadFunctionAnnotations(c.containerSource, proto, local.nameResolver, local.typeTable)
|
||||||
|
deprecation = annotations.getDeprecationInfosFromAnnotations(c.session.languageVersionSettings.apiVersion, false)
|
||||||
this.containerSource = c.containerSource
|
this.containerSource = c.containerSource
|
||||||
}.apply {
|
}.apply {
|
||||||
versionRequirementsTable = c.versionRequirementTable
|
versionRequirementsTable = c.versionRequirementTable
|
||||||
@@ -491,6 +490,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
annotations +=
|
annotations +=
|
||||||
c.annotationDeserializer.loadConstructorAnnotations(c.containerSource, proto, local.nameResolver, local.typeTable)
|
c.annotationDeserializer.loadConstructorAnnotations(c.containerSource, proto, local.nameResolver, local.typeTable)
|
||||||
containerSource = c.containerSource
|
containerSource = c.containerSource
|
||||||
|
deprecation = annotations.getDeprecationInfosFromAnnotations(c.session.languageVersionSettings.apiVersion, false)
|
||||||
}.build().apply {
|
}.build().apply {
|
||||||
containingClassAttr = c.dispatchReceiver!!.lookupTag
|
containingClassAttr = c.dispatchReceiver!!.lookupTag
|
||||||
versionRequirementsTable = c.versionRequirementTable
|
versionRequirementsTable = c.versionRequirementTable
|
||||||
|
|||||||
@@ -212,6 +212,7 @@ class JavaSymbolProvider(
|
|||||||
parentClassEffectiveVisibilityCache.remove(classSymbol)
|
parentClassEffectiveVisibilityCache.remove(classSymbol)
|
||||||
firJavaClass.convertSuperTypes(javaClass, javaTypeParameterStack)
|
firJavaClass.convertSuperTypes(javaClass, javaTypeParameterStack)
|
||||||
firJavaClass.addAnnotationsFrom(this@JavaSymbolProvider.session, javaClass, javaTypeParameterStack)
|
firJavaClass.addAnnotationsFrom(this@JavaSymbolProvider.session, javaClass, javaTypeParameterStack)
|
||||||
|
firJavaClass.replaceDeprecation(firJavaClass.getDeprecationInfos(session.languageVersionSettings.apiVersion))
|
||||||
return firJavaClass
|
return firJavaClass
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ class FirJavaClass @FirImplementationDetail internal constructor(
|
|||||||
) : FirRegularClass() {
|
) : FirRegularClass() {
|
||||||
override val hasLazyNestedClassifiers: Boolean get() = true
|
override val hasLazyNestedClassifiers: Boolean get() = true
|
||||||
override val controlFlowGraphReference: FirControlFlowGraphReference? get() = null
|
override val controlFlowGraphReference: FirControlFlowGraphReference? get() = null
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
|
|
||||||
init {
|
init {
|
||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
@@ -69,6 +70,10 @@ class FirJavaClass @FirImplementationDetail internal constructor(
|
|||||||
resolvePhase = newResolvePhase
|
resolvePhase = newResolvePhase
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {}
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {}
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
|||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
) : FirConstructor() {
|
) : FirConstructor() {
|
||||||
override val receiverTypeRef: FirTypeRef? get() = null
|
override val receiverTypeRef: FirTypeRef? get() = null
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
|
|
||||||
init {
|
init {
|
||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
@@ -132,6 +133,9 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {}
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
|||||||
import org.jetbrains.kotlin.fir.declarations.builder.FirFieldBuilder
|
import org.jetbrains.kotlin.fir.declarations.builder.FirFieldBuilder
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
|
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFieldSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirFieldSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
@@ -59,6 +60,9 @@ class FirJavaField @FirImplementationDetail constructor(
|
|||||||
|
|
||||||
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
||||||
|
|
||||||
|
override val deprecation: DeprecationsPerUseSite by lazy {
|
||||||
|
annotations.getDeprecationInfosFromAnnotations(moduleData.session.languageVersionSettings.apiVersion, fromJava = true)
|
||||||
|
}
|
||||||
|
|
||||||
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirField {
|
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirField {
|
||||||
returnTypeRef = returnTypeRef.transformSingle(transformer, data)
|
returnTypeRef = returnTypeRef.transformSingle(transformer, data)
|
||||||
@@ -134,6 +138,8 @@ class FirJavaField @FirImplementationDetail constructor(
|
|||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {}
|
||||||
|
|
||||||
override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirField {
|
override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirField {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,6 +84,9 @@ class FirJavaMethod @FirImplementationDetail constructor(
|
|||||||
|
|
||||||
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
||||||
|
|
||||||
|
//not used actually, because get 'enhanced' into regular FirSimpleFunction
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
returnTypeRef.accept(visitor, data)
|
returnTypeRef.accept(visitor, data)
|
||||||
receiverTypeRef?.accept(visitor, data)
|
receiverTypeRef?.accept(visitor, data)
|
||||||
@@ -156,6 +159,10 @@ class FirJavaMethod @FirImplementationDetail constructor(
|
|||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
@@ -194,6 +201,13 @@ class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder,
|
|||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
||||||
|
|
||||||
|
@Deprecated("Modification of 'deprecation' has no impact for FirJavaFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
||||||
|
override var deprecation: DeprecationsPerUseSite?
|
||||||
|
get() = throw IllegalStateException()
|
||||||
|
set(_) {
|
||||||
|
throw IllegalStateException()
|
||||||
|
}
|
||||||
|
|
||||||
@Deprecated("Modification of 'containerSource' has no impact for FirJavaFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
@Deprecated("Modification of 'containerSource' has no impact for FirJavaFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
||||||
override var containerSource: DeserializedContainerSource?
|
override var containerSource: DeserializedContainerSource?
|
||||||
get() = throw IllegalStateException()
|
get() = throw IllegalStateException()
|
||||||
@@ -222,7 +236,7 @@ class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder,
|
|||||||
status,
|
status,
|
||||||
symbol,
|
symbol,
|
||||||
annotationBuilder,
|
annotationBuilder,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -63,6 +63,9 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
|||||||
override val receiverTypeRef: FirTypeRef?
|
override val receiverTypeRef: FirTypeRef?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
override val deprecation: DeprecationsPerUseSite
|
||||||
|
get() = EmptyDeprecationsPerUseSite
|
||||||
|
|
||||||
override val initializer: FirExpression?
|
override val initializer: FirExpression?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
@@ -155,6 +158,10 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
|||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -13,10 +13,9 @@ import org.jetbrains.kotlin.fir.caches.*
|
|||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.deserialization.*
|
import org.jetbrains.kotlin.fir.deserialization.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.*
|
import org.jetbrains.kotlin.fir.expressions.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.*
|
|
||||||
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
|
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.java.topLevelName
|
import org.jetbrains.kotlin.fir.java.topLevelName
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.*
|
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.load.java.JavaClassFinder
|
import org.jetbrains.kotlin.load.java.JavaClassFinder
|
||||||
@@ -140,6 +139,7 @@ class KotlinDeserializedJvmSymbolsProvider(
|
|||||||
kotlinClass.byteContent,
|
kotlinClass.byteContent,
|
||||||
)
|
)
|
||||||
(symbol.fir.annotations as MutableList<FirAnnotationCall>) += annotations
|
(symbol.fir.annotations as MutableList<FirAnnotationCall>) += annotations
|
||||||
|
symbol.fir.replaceDeprecation(symbol.fir.getDeprecationInfos(session.languageVersionSettings.apiVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun readClassFromClassFile(classId: ClassId, classFile: KotlinClassFinder.Result.ClassFileContent): FirRegularClassSymbol? {
|
private fun readClassFromClassFile(classId: ClassId, classFile: KotlinClassFinder.Result.ClassFileContent): FirRegularClassSymbol? {
|
||||||
|
|||||||
+2
@@ -149,6 +149,7 @@ class FirSignatureEnhancement(
|
|||||||
delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction
|
delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction
|
||||||
delegateSetter = enhancedSetterSymbol?.fir as FirSimpleFunction?
|
delegateSetter = enhancedSetterSymbol?.fir as FirSimpleFunction?
|
||||||
status = firElement.status
|
status = firElement.status
|
||||||
|
deprecation = getDeprecationsFromAccessors(delegateGetter, delegateSetter, session.languageVersionSettings.apiVersion)
|
||||||
}.symbol
|
}.symbol
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
@@ -294,6 +295,7 @@ class FirSignatureEnhancement(
|
|||||||
else -> throw AssertionError("Unknown Java method to enhance: ${firMethod.render()}")
|
else -> throw AssertionError("Unknown Java method to enhance: ${firMethod.render()}")
|
||||||
}.apply {
|
}.apply {
|
||||||
annotations += firMethod.annotations
|
annotations += firMethod.annotations
|
||||||
|
deprecation = annotations.getDeprecationInfosFromAnnotations(session.languageVersionSettings.apiVersion, fromJava = true)
|
||||||
}.build()
|
}.build()
|
||||||
|
|
||||||
return function.symbol
|
return function.symbol
|
||||||
|
|||||||
+1
@@ -77,6 +77,7 @@ class JavaClassUseSiteMemberScope(
|
|||||||
delegateGetter = getterSymbol.fir
|
delegateGetter = getterSymbol.fir
|
||||||
delegateSetter = setterSymbol?.fir
|
delegateSetter = setterSymbol?.fir
|
||||||
status = getterSymbol.fir.status.copy(newModality = chooseModalityForAccessor(property, delegateGetter))
|
status = getterSymbol.fir.status.copy(newModality = chooseModalityForAccessor(property, delegateGetter))
|
||||||
|
deprecation = getDeprecationsFromAccessors(delegateGetter, delegateSetter, session.languageVersionSettings.apiVersion)
|
||||||
}.symbol
|
}.symbol
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-6
@@ -48,20 +48,18 @@ class ValueParameter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
val parameterSource = firValueParameter.source as? FirLightSourceElement
|
val propertySource = firValueParameter.source?.fakeElement(FirFakeSourceElementKind.PropertyFromParameter)
|
||||||
val parameterNode = parameterSource?.lighterASTNode
|
source = propertySource
|
||||||
source = parameterNode?.toFirLightSourceElement(
|
|
||||||
parameterSource.treeStructure, FirFakeSourceElementKind.PropertyFromParameter
|
|
||||||
)
|
|
||||||
this.moduleData = moduleData
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
|
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
|
||||||
this.name = name
|
this.name = name
|
||||||
initializer = buildQualifiedAccessExpression {
|
initializer = buildQualifiedAccessExpression {
|
||||||
source = firValueParameter.source
|
source = propertySource
|
||||||
calleeReference = buildPropertyFromParameterResolvedNamedReference {
|
calleeReference = buildPropertyFromParameterResolvedNamedReference {
|
||||||
this.name = name
|
this.name = name
|
||||||
resolvedSymbol = this@ValueParameter.firValueParameter.symbol
|
resolvedSymbol = this@ValueParameter.firValueParameter.symbol
|
||||||
|
source = propertySource
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
isVar = this@ValueParameter.isVar
|
isVar = this@ValueParameter.isVar
|
||||||
|
|||||||
+11
-1
@@ -15,6 +15,8 @@ import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
|||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||||
import org.jetbrains.kotlin.fir.types.coneType
|
import org.jetbrains.kotlin.fir.types.coneType
|
||||||
|
import org.jetbrains.kotlin.fir.types.coneTypeSafe
|
||||||
|
import org.jetbrains.kotlin.fir.types.coneTypeUnsafe
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -92,7 +94,15 @@ fun FirAnnotatedDeclaration.hasAnnotation(classId: ClassId): Boolean {
|
|||||||
|
|
||||||
fun FirAnnotationContainer.getAnnotationByFqName(fqName: FqName): FirAnnotationCall? {
|
fun FirAnnotationContainer.getAnnotationByFqName(fqName: FqName): FirAnnotationCall? {
|
||||||
return annotations.find {
|
return annotations.find {
|
||||||
(it.annotationTypeRef.coneType as? ConeClassLikeType)?.lookupTag?.classId?.asSingleFqName() == fqName
|
it.annotationTypeRef.coneTypeUnsafe<ConeClassLikeType>().lookupTag.classId.asSingleFqName() == fqName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun FirAnnotationContainer.getAnnotationsByFqName(fqName: FqName): List<FirAnnotationCall> = annotations.getAnnotationsByFqName(fqName)
|
||||||
|
|
||||||
|
fun List<FirAnnotationCall>.getAnnotationsByFqName(fqName: FqName): List<FirAnnotationCall> {
|
||||||
|
return filter {
|
||||||
|
it.annotationTypeRef.coneTypeSafe<ConeClassLikeType>()?.lookupTag?.classId?.asSingleFqName() == fqName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-46
@@ -1,46 +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.fir.declarations
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.StandardNames
|
|
||||||
import org.jetbrains.kotlin.config.ApiVersion
|
|
||||||
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirConstExpression
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
|
||||||
|
|
||||||
private val HIDDEN_SINCE_NAME = Name.identifier("hiddenSince")
|
|
||||||
|
|
||||||
private object FirDeprecatedSinceVersionKey : FirDeclarationDataKey()
|
|
||||||
|
|
||||||
private var FirCallableDeclaration<*>.deprecatedSinceKotlinCachedValue: DeprecatedSinceValue? by FirDeclarationDataRegistry.data(
|
|
||||||
FirDeprecatedSinceVersionKey
|
|
||||||
)
|
|
||||||
|
|
||||||
private fun FirAnnotationContainer.getHiddenSinceKotlin(): ApiVersion? =
|
|
||||||
getAnnotationByFqName(StandardNames.FqNames.deprecatedSinceKotlin)?.getVersionFromArgument(HIDDEN_SINCE_NAME)
|
|
||||||
|
|
||||||
fun <T> T.getHiddenSinceKotlinCached(): ApiVersion? where T : FirCallableDeclaration<*>, T : FirAnnotationContainer {
|
|
||||||
val cached = deprecatedSinceKotlinCachedValue
|
|
||||||
if (cached != null) return cached.hiddenSince
|
|
||||||
val calculated = getHiddenSinceKotlin()
|
|
||||||
deprecatedSinceKotlinCachedValue = DeprecatedSinceValue(calculated)
|
|
||||||
return calculated
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private fun FirAnnotationCall.getVersionFromArgument(name: Name): ApiVersion? =
|
|
||||||
findArgumentByName(name)?.let { expression ->
|
|
||||||
expression.safeAs<FirConstExpression<*>>()?.value.safeAs<String>()?.let { ApiVersion.parse(it) }
|
|
||||||
}
|
|
||||||
|
|
||||||
private class DeprecatedSinceValue(val hiddenSince: ApiVersion?)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
/*
|
||||||
|
* 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.fir.declarations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.builtins.StandardNames
|
||||||
|
import org.jetbrains.kotlin.config.ApiVersion
|
||||||
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||||
|
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
||||||
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.expressions.*
|
||||||
|
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||||
|
import org.jetbrains.kotlin.name.FqName
|
||||||
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
|
|
||||||
|
private val JAVA_DEPRECATED = FqName("java.lang.Deprecated")
|
||||||
|
private val HIDDEN_SINCE_NAME = Name.identifier("hiddenSince")
|
||||||
|
private val ERROR_SINCE_NAME = Name.identifier("errorSince")
|
||||||
|
private val WARNING_SINCE_NAME = Name.identifier("warningSince")
|
||||||
|
private val MESSAGE_NAME = Name.identifier("message")
|
||||||
|
private val LEVEL_NAME = Name.identifier("level")
|
||||||
|
|
||||||
|
private val JAVA_ORIGINS = setOf(FirDeclarationOrigin.Java, FirDeclarationOrigin.Enhancement)
|
||||||
|
|
||||||
|
fun <T : FirAnnotatedDeclaration> T.getDeprecation(callSite: FirElement?): Deprecation? {
|
||||||
|
val deprecationInfos = mutableListOf<Deprecation>()
|
||||||
|
when (this) {
|
||||||
|
is FirProperty ->
|
||||||
|
if (callSite is FirVariableAssignment) {
|
||||||
|
deprecationInfos.addIfNotNull(
|
||||||
|
getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY_SETTER, AnnotationUseSiteTarget.PROPERTY)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
deprecationInfos.addIfNotNull(
|
||||||
|
getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY_GETTER, AnnotationUseSiteTarget.PROPERTY)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
else -> deprecationInfos.addIfNotNull(getDeprecationForCallSite())
|
||||||
|
}
|
||||||
|
|
||||||
|
return deprecationInfos.firstOrNull()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun FirAnnotationContainer.getDeprecationInfos(currentVersion: ApiVersion): DeprecationsPerUseSite {
|
||||||
|
val deprecationByUseSite = mutableMapOf<AnnotationUseSiteTarget?, Deprecation>()
|
||||||
|
val fromJava = JAVA_ORIGINS.contains(this.safeAs<FirDeclaration>()?.origin)
|
||||||
|
annotations.extractDeprecationInfoPerUseSite(currentVersion, fromJava).toMap(deprecationByUseSite)
|
||||||
|
|
||||||
|
if (this is FirProperty) {
|
||||||
|
getDeprecationsFromAccessors(getter, setter, currentVersion).bySpecificSite?.forEach { (k, v) -> deprecationByUseSite[k] = v }
|
||||||
|
}
|
||||||
|
|
||||||
|
return DeprecationsPerUseSite.fromMap(deprecationByUseSite)
|
||||||
|
}
|
||||||
|
|
||||||
|
@OptIn(ExperimentalStdlibApi::class)
|
||||||
|
fun getDeprecationsFromAccessors(
|
||||||
|
getter: FirFunction?,
|
||||||
|
setter: FirFunction?,
|
||||||
|
currentVersion: ApiVersion
|
||||||
|
): DeprecationsPerUseSite {
|
||||||
|
val perUseSite = buildMap<AnnotationUseSiteTarget, Deprecation> {
|
||||||
|
setter?.getDeprecationInfos(currentVersion)?.all?.let { put(AnnotationUseSiteTarget.PROPERTY_SETTER, it) }
|
||||||
|
getter?.getDeprecationInfos(currentVersion)?.all?.let { put(AnnotationUseSiteTarget.PROPERTY_GETTER, it) }
|
||||||
|
}
|
||||||
|
return if (perUseSite.isEmpty()) EmptyDeprecationsPerUseSite else DeprecationsPerUseSite(null, perUseSite)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun List<FirAnnotationCall>.getDeprecationInfosFromAnnotations(currentVersion: ApiVersion, fromJava: Boolean): DeprecationsPerUseSite {
|
||||||
|
val deprecationByUseSite = extractDeprecationInfoPerUseSite(currentVersion, fromJava).toMap()
|
||||||
|
return DeprecationsPerUseSite.fromMap(deprecationByUseSite)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun <T : FirAnnotatedDeclaration> T.getDeprecationForCallSite(
|
||||||
|
vararg sites: AnnotationUseSiteTarget
|
||||||
|
): Deprecation? {
|
||||||
|
val deprecations = when (this) {
|
||||||
|
is FirCallableDeclaration -> deprecation
|
||||||
|
is FirClassLikeDeclaration -> deprecation
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
return (deprecations ?: EmptyDeprecationsPerUseSite).forUseSite(*sites)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun FirAnnotationCall.getStringArgument(name: Name): String? =
|
||||||
|
findArgumentByName(name)?.let { expression ->
|
||||||
|
expression.safeAs<FirConstExpression<*>>()?.value.safeAs()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun FirAnnotationCall.getVersionFromArgument(name: Name): ApiVersion? =
|
||||||
|
getStringArgument(name)?.let { ApiVersion.parse(it) }
|
||||||
|
|
||||||
|
private fun FirAnnotationCall.getDeprecationLevel(): DeprecationLevelValue? {
|
||||||
|
//take last because Annotation might be not resolved yet and arguments passed without explicit names
|
||||||
|
val arg = findArgumentByName(LEVEL_NAME) ?: arguments.lastOrNull()
|
||||||
|
return arg?.let { argument ->
|
||||||
|
val targetExpression = argument as? FirQualifiedAccessExpression ?: return null
|
||||||
|
val targetName = (targetExpression.calleeReference as? FirNamedReference)?.name?.asString() ?: return null
|
||||||
|
DeprecationLevelValue.values().find { it.name == targetName }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun List<FirAnnotationCall>.extractDeprecationInfoPerUseSite(
|
||||||
|
currentVersion: ApiVersion,
|
||||||
|
fromJava: Boolean
|
||||||
|
): List<Pair<AnnotationUseSiteTarget?, Deprecation>> {
|
||||||
|
val annotations = getAnnotationsByFqName(StandardNames.FqNames.deprecated).map { it to false } +
|
||||||
|
getAnnotationsByFqName(JAVA_DEPRECATED).map { it to true }
|
||||||
|
return annotations.mapNotNull { (deprecated, fromJavaAnnotation) ->
|
||||||
|
val deprecationLevel = deprecated.getDeprecationLevel() ?: DeprecationLevelValue.WARNING
|
||||||
|
val deprecatedSinceKotlin = getAnnotationsByFqName(StandardNames.FqNames.deprecatedSinceKotlin).firstOrNull()
|
||||||
|
|
||||||
|
fun levelApplied(name: Name, level: DeprecationLevelValue): DeprecationLevelValue? {
|
||||||
|
deprecatedSinceKotlin?.getVersionFromArgument(name)?.takeIf { it <= currentVersion }?.let { return level }
|
||||||
|
return level.takeIf { deprecatedSinceKotlin == null && level == deprecationLevel }
|
||||||
|
}
|
||||||
|
|
||||||
|
val appliedLevel = (levelApplied(HIDDEN_SINCE_NAME, DeprecationLevelValue.HIDDEN)
|
||||||
|
?: levelApplied(ERROR_SINCE_NAME, DeprecationLevelValue.ERROR)
|
||||||
|
?: levelApplied(WARNING_SINCE_NAME, DeprecationLevelValue.WARNING))
|
||||||
|
|
||||||
|
appliedLevel?.let {
|
||||||
|
val inheritable = !fromJavaAnnotation && !fromJava
|
||||||
|
deprecated.useSiteTarget to Deprecation(it, inheritable, deprecated.getStringArgument(MESSAGE_NAME))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -16,7 +16,8 @@ sealed class CallKind(vararg resolutionSequence: ResolutionStage) {
|
|||||||
CheckDispatchReceiver,
|
CheckDispatchReceiver,
|
||||||
CheckExtensionReceiver,
|
CheckExtensionReceiver,
|
||||||
CheckLowPriorityInOverloadResolution,
|
CheckLowPriorityInOverloadResolution,
|
||||||
PostponedVariablesInitializerResolutionStage
|
PostponedVariablesInitializerResolutionStage,
|
||||||
|
CheckDeprecatedSinceKotlin,
|
||||||
)
|
)
|
||||||
|
|
||||||
object SyntheticSelect : CallKind(
|
object SyntheticSelect : CallKind(
|
||||||
@@ -56,7 +57,8 @@ sealed class CallKind(vararg resolutionSequence: ResolutionStage) {
|
|||||||
CheckDispatchReceiver,
|
CheckDispatchReceiver,
|
||||||
CheckExtensionReceiver,
|
CheckExtensionReceiver,
|
||||||
CheckArguments,
|
CheckArguments,
|
||||||
EagerResolveOfCallableReferences
|
EagerResolveOfCallableReferences,
|
||||||
|
CheckDeprecatedSinceKotlin,
|
||||||
)
|
)
|
||||||
|
|
||||||
object CallableReference : CallKind(
|
object CallableReference : CallKind(
|
||||||
@@ -69,7 +71,7 @@ sealed class CallKind(vararg resolutionSequence: ResolutionStage) {
|
|||||||
CheckExtensionReceiver,
|
CheckExtensionReceiver,
|
||||||
CheckCallableReferenceExpectedType,
|
CheckCallableReferenceExpectedType,
|
||||||
CheckLowPriorityInOverloadResolution,
|
CheckLowPriorityInOverloadResolution,
|
||||||
CheckDeprecatedSinceKotlin
|
CheckDeprecatedSinceKotlin,
|
||||||
)
|
)
|
||||||
|
|
||||||
object SyntheticIdForCallableReferencesResolution : CallKind(
|
object SyntheticIdForCallableReferencesResolution : CallKind(
|
||||||
|
|||||||
@@ -297,9 +297,9 @@ internal object CheckCallModifiers : CheckerStage() {
|
|||||||
|
|
||||||
internal object CheckDeprecatedSinceKotlin : ResolutionStage() {
|
internal object CheckDeprecatedSinceKotlin : ResolutionStage() {
|
||||||
override suspend fun check(candidate: Candidate, callInfo: CallInfo, sink: CheckerSink, context: ResolutionContext) {
|
override suspend fun check(candidate: Candidate, callInfo: CallInfo, sink: CheckerSink, context: ResolutionContext) {
|
||||||
val fir = (candidate.symbol as? FirFunctionSymbol<*>)?.fir ?: return
|
val fir = (candidate.symbol as? FirCallableSymbol<*>)?.fir ?: return
|
||||||
val deprecatedSince = fir.getHiddenSinceKotlinCached() ?: return
|
val deprecation = fir.getDeprecation(callInfo.callSite)
|
||||||
if (context.session.languageVersionSettings.apiVersion >= deprecatedSince) {
|
if (deprecation != null && deprecation.level == DeprecationLevelValue.HIDDEN) {
|
||||||
sink.yieldDiagnostic(HiddenCandidate)
|
sink.yieldDiagnostic(HiddenCandidate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.resolve.calls
|
|||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.getDeprecationsFromAccessors
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.isStatic
|
import org.jetbrains.kotlin.fir.declarations.utils.isStatic
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
||||||
import org.jetbrains.kotlin.fir.scopes.*
|
import org.jetbrains.kotlin.fir.scopes.*
|
||||||
@@ -117,6 +118,7 @@ class FirSyntheticPropertiesScope(
|
|||||||
)
|
)
|
||||||
delegateGetter = getter
|
delegateGetter = getter
|
||||||
delegateSetter = matchingSetter
|
delegateSetter = matchingSetter
|
||||||
|
deprecation = getDeprecationsFromAccessors(getter, matchingSetter, session.languageVersionSettings.apiVersion)
|
||||||
}
|
}
|
||||||
val syntheticSymbol = property.symbol
|
val syntheticSymbol = property.symbol
|
||||||
(baseScope as? FirUnstableSmartcastTypeScope)?.apply {
|
(baseScope as? FirUnstableSmartcastTypeScope)?.apply {
|
||||||
|
|||||||
+21
-1
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
|||||||
import org.jetbrains.kotlin.fir.declarations.utils.isLocal
|
import org.jetbrains.kotlin.fir.declarations.utils.isLocal
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||||
|
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firProvider
|
import org.jetbrains.kotlin.fir.resolve.firProvider
|
||||||
@@ -103,6 +104,7 @@ open class FirStatusResolveTransformer(
|
|||||||
*/
|
*/
|
||||||
if (computationStatus != StatusComputationSession.StatusComputationStatus.Computed) {
|
if (computationStatus != StatusComputationSession.StatusComputationStatus.Computed) {
|
||||||
regularClass.transformStatus(this, statusResolver.resolveStatus(regularClass, containingClass, isLocal = false))
|
regularClass.transformStatus(this, statusResolver.resolveStatus(regularClass, containingClass, isLocal = false))
|
||||||
|
calculateDeprecations(regularClass)
|
||||||
}
|
}
|
||||||
return transformClass(regularClass, data).also {
|
return transformClass(regularClass, data).also {
|
||||||
statusComputationSession.endComputing(regularClass)
|
statusComputationSession.endComputing(regularClass)
|
||||||
@@ -311,6 +313,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
): FirStatement {
|
): FirStatement {
|
||||||
typeAlias.typeParameters.forEach { transformDeclaration(it, data) }
|
typeAlias.typeParameters.forEach { transformDeclaration(it, data) }
|
||||||
typeAlias.transformStatus(this, statusResolver.resolveStatus(typeAlias, containingClass, isLocal = false))
|
typeAlias.transformStatus(this, statusResolver.resolveStatus(typeAlias, containingClass, isLocal = false))
|
||||||
|
calculateDeprecations(typeAlias)
|
||||||
return transformDeclaration(typeAlias, data) as FirTypeAlias
|
return transformDeclaration(typeAlias, data) as FirTypeAlias
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -467,6 +470,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
data: FirResolvedDeclarationStatus?
|
data: FirResolvedDeclarationStatus?
|
||||||
): FirStatement {
|
): FirStatement {
|
||||||
constructor.transformStatus(this, statusResolver.resolveStatus(constructor, containingClass, isLocal = false))
|
constructor.transformStatus(this, statusResolver.resolveStatus(constructor, containingClass, isLocal = false))
|
||||||
|
calculateDeprecations(constructor)
|
||||||
return transformDeclaration(constructor, data) as FirStatement
|
return transformDeclaration(constructor, data) as FirStatement
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -478,6 +482,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
simpleFunction.replaceResolvePhase(transformerPhase)
|
simpleFunction.replaceResolvePhase(transformerPhase)
|
||||||
}
|
}
|
||||||
simpleFunction.transformStatus(this, statusResolver.resolveStatus(simpleFunction, containingClass, isLocal = false))
|
simpleFunction.transformStatus(this, statusResolver.resolveStatus(simpleFunction, containingClass, isLocal = false))
|
||||||
|
calculateDeprecations(simpleFunction)
|
||||||
return transformDeclaration(simpleFunction, data) as FirStatement
|
return transformDeclaration(simpleFunction, data) as FirStatement
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -492,7 +497,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
|
|
||||||
property.getter?.let { transformPropertyAccessor(it, property) }
|
property.getter?.let { transformPropertyAccessor(it, property) }
|
||||||
property.setter?.let { transformPropertyAccessor(it, property) }
|
property.setter?.let { transformPropertyAccessor(it, property) }
|
||||||
|
calculateDeprecations(property)
|
||||||
return property
|
return property
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -501,6 +506,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
data: FirResolvedDeclarationStatus?
|
data: FirResolvedDeclarationStatus?
|
||||||
): FirStatement {
|
): FirStatement {
|
||||||
field.transformStatus(this, statusResolver.resolveStatus(field, containingClass, isLocal = false))
|
field.transformStatus(this, statusResolver.resolveStatus(field, containingClass, isLocal = false))
|
||||||
|
calculateDeprecations(field)
|
||||||
return transformDeclaration(field, data) as FirField
|
return transformDeclaration(field, data) as FirField
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,6 +515,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
data: FirResolvedDeclarationStatus?
|
data: FirResolvedDeclarationStatus?
|
||||||
): FirStatement {
|
): FirStatement {
|
||||||
enumEntry.transformStatus(this, statusResolver.resolveStatus(enumEntry, containingClass, isLocal = false))
|
enumEntry.transformStatus(this, statusResolver.resolveStatus(enumEntry, containingClass, isLocal = false))
|
||||||
|
calculateDeprecations(enumEntry)
|
||||||
return transformDeclaration(enumEntry, data) as FirEnumEntry
|
return transformDeclaration(enumEntry, data) as FirEnumEntry
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,6 +523,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
valueParameter: FirValueParameter,
|
valueParameter: FirValueParameter,
|
||||||
data: FirResolvedDeclarationStatus?
|
data: FirResolvedDeclarationStatus?
|
||||||
): FirStatement {
|
): FirStatement {
|
||||||
|
calculateDeprecations(valueParameter)
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return transformDeclaration(valueParameter, data) as FirStatement
|
return transformDeclaration(valueParameter, data) as FirStatement
|
||||||
}
|
}
|
||||||
@@ -530,4 +538,16 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
override fun transformBlock(block: FirBlock, data: FirResolvedDeclarationStatus?): FirStatement {
|
override fun transformBlock(block: FirBlock, data: FirResolvedDeclarationStatus?): FirStatement {
|
||||||
return block
|
return block
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected fun calculateDeprecations(regularClass: FirClassLikeDeclaration) {
|
||||||
|
if (regularClass.deprecation == null) {
|
||||||
|
regularClass.replaceDeprecation(regularClass.getDeprecationInfos(session.languageVersionSettings.apiVersion))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected fun calculateDeprecations(simpleFunction: FirCallableDeclaration) {
|
||||||
|
if (simpleFunction.deprecation == null) {
|
||||||
|
simpleFunction.replaceDeprecation(simpleFunction.getDeprecationInfos(session.languageVersionSettings.apiVersion))
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-4
@@ -7,15 +7,12 @@ package org.jetbrains.kotlin.fir.scopes.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.copy
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.*
|
import org.jetbrains.kotlin.fir.declarations.builder.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.isExpect
|
import org.jetbrains.kotlin.fir.declarations.utils.isExpect
|
||||||
import org.jetbrains.kotlin.fir.moduleData
|
|
||||||
import org.jetbrains.kotlin.fir.originalForSubstitutionOverrideAttr
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ChainedSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ChainedSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||||
@@ -115,6 +112,7 @@ object FirFakeOverrideGenerator {
|
|||||||
typeParameters += configureAnnotationsTypeParametersAndSignature(
|
typeParameters += configureAnnotationsTypeParametersAndSignature(
|
||||||
session, baseFunction, newParameterTypes, newTypeParameters, newReceiverType, newReturnType, fakeOverrideSubstitution
|
session, baseFunction, newParameterTypes, newTypeParameters, newReceiverType, newReturnType, fakeOverrideSubstitution
|
||||||
).filterIsInstance<FirTypeParameter>()
|
).filterIsInstance<FirTypeParameter>()
|
||||||
|
deprecation = baseFunction.deprecation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,6 +151,7 @@ object FirFakeOverrideGenerator {
|
|||||||
resolvePhase = baseConstructor.resolvePhase
|
resolvePhase = baseConstructor.resolvePhase
|
||||||
source = baseConstructor.source
|
source = baseConstructor.source
|
||||||
attributes = baseConstructor.attributes.copy()
|
attributes = baseConstructor.attributes.copy()
|
||||||
|
deprecation = baseConstructor.deprecation
|
||||||
}.apply {
|
}.apply {
|
||||||
originalForSubstitutionOverrideAttr = baseConstructor
|
originalForSubstitutionOverrideAttr = baseConstructor
|
||||||
}
|
}
|
||||||
@@ -310,6 +309,7 @@ object FirFakeOverrideGenerator {
|
|||||||
newReturnType,
|
newReturnType,
|
||||||
fakeOverrideSubstitution
|
fakeOverrideSubstitution
|
||||||
)
|
)
|
||||||
|
deprecation = baseProperty.deprecation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,6 +462,7 @@ object FirFakeOverrideGenerator {
|
|||||||
delegateGetter = getter
|
delegateGetter = getter
|
||||||
delegateSetter = setter
|
delegateSetter = setter
|
||||||
status = baseProperty.status
|
status = baseProperty.status
|
||||||
|
deprecation = getDeprecationsFromAccessors(getter, setter, session.languageVersionSettings.apiVersion)
|
||||||
}.symbol
|
}.symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
|
|||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||||
@@ -59,6 +60,8 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
|
|||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val classKind: ClassKind
|
abstract override val classKind: ClassKind
|
||||||
abstract override val superTypeRefs: List<FirTypeRef>
|
abstract override val superTypeRefs: List<FirTypeRef>
|
||||||
@@ -44,6 +45,8 @@ abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
|
|||||||
|
|
||||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
|
|||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract val receiverTypeRef: FirTypeRef?
|
abstract val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
|
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableDeclaration(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableDeclaration(this, data)
|
||||||
@@ -41,6 +42,8 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
|
|||||||
|
|
||||||
abstract fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
||||||
|
|
||||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
||||||
|
|||||||
+3
@@ -29,6 +29,7 @@ sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberD
|
|||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
|
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
@@ -47,6 +48,8 @@ sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberD
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
||||||
|
|
||||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParamete
|
|||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val symbol: FirClassSymbol<out FirClass>
|
abstract override val symbol: FirClassSymbol<out FirClass>
|
||||||
abstract val classKind: ClassKind
|
abstract val classKind: ClassKind
|
||||||
@@ -43,6 +44,8 @@ sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParamete
|
|||||||
|
|
||||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
abstract fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||||
|
|
||||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirClass
|
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirClass
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ sealed class FirClassLikeDeclaration : FirAnnotatedDeclaration(), FirStatement {
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val symbol: FirClassLikeSymbol<out FirClassLikeDeclaration>
|
abstract override val symbol: FirClassLikeSymbol<out FirClassLikeDeclaration>
|
||||||
|
abstract val deprecation: DeprecationsPerUseSite?
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitClassLikeDeclaration(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitClassLikeDeclaration(this, data)
|
||||||
|
|
||||||
@@ -35,5 +36,7 @@ sealed class FirClassLikeDeclaration : FirAnnotatedDeclaration(), FirStatement {
|
|||||||
|
|
||||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||||
|
|
||||||
|
abstract fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirClassLikeDeclaration
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirClassLikeDeclaration
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
@@ -55,6 +56,8 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ abstract class FirEnumEntry : FirVariable() {
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
@@ -56,6 +57,8 @@ abstract class FirEnumEntry : FirVariable() {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
|
|||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||||
@@ -55,6 +56,8 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
@@ -59,6 +60,8 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ abstract class FirField : FirVariable() {
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
@@ -56,6 +57,8 @@ abstract class FirField : FirVariable() {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirField
|
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirField
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir
|
|||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
@@ -54,6 +55,8 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
abstract fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||||
@@ -64,6 +65,8 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||||
@@ -56,6 +57,8 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ abstract class FirRegularClass : FirClass(), FirMemberDeclaration, FirControlFlo
|
|||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val classKind: ClassKind
|
abstract override val classKind: ClassKind
|
||||||
abstract override val declarations: List<FirDeclaration>
|
abstract override val declarations: List<FirDeclaration>
|
||||||
@@ -49,6 +50,8 @@ abstract class FirRegularClass : FirClass(), FirMemberDeclaration, FirControlFlo
|
|||||||
|
|
||||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||||
@@ -56,6 +57,8 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ abstract class FirTypeAlias : FirClassLikeDeclaration(), FirMemberDeclaration, F
|
|||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val typeParameters: List<FirTypeParameter>
|
abstract override val typeParameters: List<FirTypeParameter>
|
||||||
abstract val name: Name
|
abstract val name: Name
|
||||||
@@ -40,6 +41,8 @@ abstract class FirTypeAlias : FirClassLikeDeclaration(), FirMemberDeclaration, F
|
|||||||
|
|
||||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract fun replaceExpandedTypeRef(newExpandedTypeRef: FirTypeRef)
|
abstract fun replaceExpandedTypeRef(newExpandedTypeRef: FirTypeRef)
|
||||||
|
|
||||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirTypeAlias
|
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirTypeAlias
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
@@ -62,6 +63,8 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement {
|
|||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
abstract override val returnTypeRef: FirTypeRef
|
abstract override val returnTypeRef: FirTypeRef
|
||||||
abstract override val receiverTypeRef: FirTypeRef?
|
abstract override val receiverTypeRef: FirTypeRef?
|
||||||
|
abstract override val deprecation: DeprecationsPerUseSite?
|
||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val containerSource: DeserializedContainerSource?
|
abstract override val containerSource: DeserializedContainerSource?
|
||||||
@@ -57,6 +58,8 @@ sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement {
|
|||||||
|
|
||||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||||
|
|
||||||
|
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||||
|
|
||||||
abstract fun replaceInitializer(newInitializer: FirExpression?)
|
abstract fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
|
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
|
||||||
|
|||||||
+2
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
|||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -40,6 +41,7 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
|||||||
abstract override var attributes: FirDeclarationAttributes
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||||
abstract override var returnTypeRef: FirTypeRef
|
abstract override var returnTypeRef: FirTypeRef
|
||||||
|
abstract override var deprecation: DeprecationsPerUseSite?
|
||||||
abstract override var status: FirDeclarationStatus
|
abstract override var status: FirDeclarationStatus
|
||||||
abstract override var containerSource: DeserializedContainerSource?
|
abstract override var containerSource: DeserializedContainerSource?
|
||||||
abstract override var dispatchReceiverType: ConeKotlinType?
|
abstract override var dispatchReceiverType: ConeKotlinType?
|
||||||
|
|||||||
+3
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -47,6 +48,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
|||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
var receiverTypeRef: FirTypeRef? = null
|
var receiverTypeRef: FirTypeRef? = null
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
override var containerSource: DeserializedContainerSource? = null
|
override var containerSource: DeserializedContainerSource? = null
|
||||||
override var dispatchReceiverType: ConeKotlinType? = null
|
override var dispatchReceiverType: ConeKotlinType? = null
|
||||||
var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||||
@@ -69,6 +71,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
|||||||
annotations,
|
annotations,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
|
deprecation,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
controlFlowGraphReference,
|
controlFlowGraphReference,
|
||||||
|
|||||||
+3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
@@ -39,6 +40,7 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn
|
|||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||||
override lateinit var classKind: ClassKind
|
override lateinit var classKind: ClassKind
|
||||||
override val superTypeRefs: MutableList<FirTypeRef> = mutableListOf()
|
override val superTypeRefs: MutableList<FirTypeRef> = mutableListOf()
|
||||||
@@ -54,6 +56,7 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn
|
|||||||
resolvePhase,
|
resolvePhase,
|
||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
|
deprecation,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
classKind,
|
classKind,
|
||||||
superTypeRefs,
|
superTypeRefs,
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
@@ -35,6 +36,7 @@ interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder
|
|||||||
abstract override var origin: FirDeclarationOrigin
|
abstract override var origin: FirDeclarationOrigin
|
||||||
abstract override var attributes: FirDeclarationAttributes
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||||
|
abstract var deprecation: DeprecationsPerUseSite?
|
||||||
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
||||||
abstract var classKind: ClassKind
|
abstract var classKind: ClassKind
|
||||||
abstract val superTypeRefs: MutableList<FirTypeRef>
|
abstract val superTypeRefs: MutableList<FirTypeRef>
|
||||||
|
|||||||
+4
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -43,6 +44,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
|
|||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
override var receiverTypeRef: FirTypeRef? = null
|
override var receiverTypeRef: FirTypeRef? = null
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||||
override lateinit var status: FirDeclarationStatus
|
override lateinit var status: FirDeclarationStatus
|
||||||
override var containerSource: DeserializedContainerSource? = null
|
override var containerSource: DeserializedContainerSource? = null
|
||||||
@@ -62,6 +64,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
|
|||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
|
deprecation,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
status,
|
status,
|
||||||
containerSource,
|
containerSource,
|
||||||
@@ -104,6 +107,7 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
|
|||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||||
|
copyBuilder.deprecation = original.deprecation
|
||||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||||
copyBuilder.status = original.status
|
copyBuilder.status = original.status
|
||||||
copyBuilder.containerSource = original.containerSource
|
copyBuilder.containerSource = original.containerSource
|
||||||
|
|||||||
+3
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -43,6 +44,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
lateinit var returnTypeRef: FirTypeRef
|
lateinit var returnTypeRef: FirTypeRef
|
||||||
var receiverTypeRef: FirTypeRef? = null
|
var receiverTypeRef: FirTypeRef? = null
|
||||||
|
var deprecation: DeprecationsPerUseSite? = null
|
||||||
var containerSource: DeserializedContainerSource? = null
|
var containerSource: DeserializedContainerSource? = null
|
||||||
var dispatchReceiverType: ConeKotlinType? = null
|
var dispatchReceiverType: ConeKotlinType? = null
|
||||||
var initializer: FirExpression? = null
|
var initializer: FirExpression? = null
|
||||||
@@ -67,6 +69,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
|
deprecation,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
initializer,
|
initializer,
|
||||||
|
|||||||
+3
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -40,6 +41,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
|||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
lateinit var returnTypeRef: FirTypeRef
|
lateinit var returnTypeRef: FirTypeRef
|
||||||
|
var deprecation: DeprecationsPerUseSite? = null
|
||||||
val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||||
lateinit var status: FirDeclarationStatus
|
lateinit var status: FirDeclarationStatus
|
||||||
var containerSource: DeserializedContainerSource? = null
|
var containerSource: DeserializedContainerSource? = null
|
||||||
@@ -57,6 +59,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
|||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
|
deprecation,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
status,
|
status,
|
||||||
containerSource,
|
containerSource,
|
||||||
|
|||||||
+3
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -43,6 +44,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
|
|||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
|
var deprecation: DeprecationsPerUseSite? = null
|
||||||
var containerSource: DeserializedContainerSource? = null
|
var containerSource: DeserializedContainerSource? = null
|
||||||
var dispatchReceiverType: ConeKotlinType? = null
|
var dispatchReceiverType: ConeKotlinType? = null
|
||||||
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||||
@@ -57,6 +59,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
|
|||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
annotations,
|
annotations,
|
||||||
|
deprecation,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
valueParameters,
|
valueParameters,
|
||||||
|
|||||||
+3
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -42,6 +43,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
|||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
var deprecation: DeprecationsPerUseSite? = null
|
||||||
var containerSource: DeserializedContainerSource? = null
|
var containerSource: DeserializedContainerSource? = null
|
||||||
var dispatchReceiverType: ConeKotlinType? = null
|
var dispatchReceiverType: ConeKotlinType? = null
|
||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
@@ -56,6 +58,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
|||||||
resolvePhase,
|
resolvePhase,
|
||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
|
deprecation,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
name,
|
name,
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -42,6 +43,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
|||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
open lateinit var returnTypeRef: FirTypeRef
|
open lateinit var returnTypeRef: FirTypeRef
|
||||||
|
open var deprecation: DeprecationsPerUseSite? = null
|
||||||
open val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
open val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||||
open lateinit var status: FirDeclarationStatus
|
open lateinit var status: FirDeclarationStatus
|
||||||
open var containerSource: DeserializedContainerSource? = null
|
open var containerSource: DeserializedContainerSource? = null
|
||||||
@@ -61,6 +63,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
|||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
|
deprecation,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
status,
|
status,
|
||||||
containerSource,
|
containerSource,
|
||||||
|
|||||||
+2
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -37,6 +38,7 @@ interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuil
|
|||||||
abstract override var attributes: FirDeclarationAttributes
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||||
abstract var returnTypeRef: FirTypeRef
|
abstract var returnTypeRef: FirTypeRef
|
||||||
|
abstract var deprecation: DeprecationsPerUseSite?
|
||||||
abstract var status: FirDeclarationStatus
|
abstract var status: FirDeclarationStatus
|
||||||
abstract var containerSource: DeserializedContainerSource?
|
abstract var containerSource: DeserializedContainerSource?
|
||||||
abstract var dispatchReceiverType: ConeKotlinType?
|
abstract var dispatchReceiverType: ConeKotlinType?
|
||||||
|
|||||||
+3
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -43,6 +44,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
|
|||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
override var receiverTypeRef: FirTypeRef? = null
|
override var receiverTypeRef: FirTypeRef? = null
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||||
override lateinit var status: FirDeclarationStatus
|
override lateinit var status: FirDeclarationStatus
|
||||||
override var containerSource: DeserializedContainerSource? = null
|
override var containerSource: DeserializedContainerSource? = null
|
||||||
@@ -62,6 +64,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
|
|||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
|
deprecation,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
status,
|
status,
|
||||||
containerSource,
|
containerSource,
|
||||||
|
|||||||
+4
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
|||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||||
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -45,6 +46,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
|
|||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
override lateinit var status: FirDeclarationStatus
|
override lateinit var status: FirDeclarationStatus
|
||||||
override var containerSource: DeserializedContainerSource? = null
|
override var containerSource: DeserializedContainerSource? = null
|
||||||
override var dispatchReceiverType: ConeKotlinType? = null
|
override var dispatchReceiverType: ConeKotlinType? = null
|
||||||
@@ -65,6 +67,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
|
|||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
|
deprecation,
|
||||||
status,
|
status,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
@@ -100,6 +103,7 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
|
|||||||
copyBuilder.origin = original.origin
|
copyBuilder.origin = original.origin
|
||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||||
|
copyBuilder.deprecation = original.deprecation
|
||||||
copyBuilder.status = original.status
|
copyBuilder.status = original.status
|
||||||
copyBuilder.containerSource = original.containerSource
|
copyBuilder.containerSource = original.containerSource
|
||||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||||
|
|||||||
+4
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -46,6 +47,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
|||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
lateinit var returnTypeRef: FirTypeRef
|
lateinit var returnTypeRef: FirTypeRef
|
||||||
var receiverTypeRef: FirTypeRef? = null
|
var receiverTypeRef: FirTypeRef? = null
|
||||||
|
var deprecation: DeprecationsPerUseSite? = null
|
||||||
lateinit var status: FirDeclarationStatus
|
lateinit var status: FirDeclarationStatus
|
||||||
var containerSource: DeserializedContainerSource? = null
|
var containerSource: DeserializedContainerSource? = null
|
||||||
var dispatchReceiverType: ConeKotlinType? = null
|
var dispatchReceiverType: ConeKotlinType? = null
|
||||||
@@ -71,6 +73,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
|||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
|
deprecation,
|
||||||
status,
|
status,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
@@ -112,6 +115,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
|
|||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||||
|
copyBuilder.deprecation = original.deprecation
|
||||||
copyBuilder.status = original.status
|
copyBuilder.status = original.status
|
||||||
copyBuilder.containerSource = original.containerSource
|
copyBuilder.containerSource = original.containerSource
|
||||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||||
|
|||||||
+4
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -41,6 +42,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
|
|||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||||
override lateinit var classKind: ClassKind
|
override lateinit var classKind: ClassKind
|
||||||
override val declarations: MutableList<FirDeclaration> = mutableListOf()
|
override val declarations: MutableList<FirDeclaration> = mutableListOf()
|
||||||
@@ -59,6 +61,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
|
|||||||
resolvePhase,
|
resolvePhase,
|
||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
|
deprecation,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
classKind,
|
classKind,
|
||||||
declarations,
|
declarations,
|
||||||
@@ -93,6 +96,7 @@ inline fun buildRegularClassCopy(original: FirRegularClass, init: FirRegularClas
|
|||||||
copyBuilder.resolvePhase = original.resolvePhase
|
copyBuilder.resolvePhase = original.resolvePhase
|
||||||
copyBuilder.origin = original.origin
|
copyBuilder.origin = original.origin
|
||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
|
copyBuilder.deprecation = original.deprecation
|
||||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||||
copyBuilder.classKind = original.classKind
|
copyBuilder.classKind = original.classKind
|
||||||
copyBuilder.declarations.addAll(original.declarations)
|
copyBuilder.declarations.addAll(original.declarations)
|
||||||
|
|||||||
+4
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
|||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||||
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -46,6 +47,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
|
|||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
open var receiverTypeRef: FirTypeRef? = null
|
open var receiverTypeRef: FirTypeRef? = null
|
||||||
|
override var deprecation: DeprecationsPerUseSite? = null
|
||||||
override lateinit var status: FirDeclarationStatus
|
override lateinit var status: FirDeclarationStatus
|
||||||
override var containerSource: DeserializedContainerSource? = null
|
override var containerSource: DeserializedContainerSource? = null
|
||||||
override var dispatchReceiverType: ConeKotlinType? = null
|
override var dispatchReceiverType: ConeKotlinType? = null
|
||||||
@@ -66,6 +68,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
|
|||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
receiverTypeRef,
|
receiverTypeRef,
|
||||||
|
deprecation,
|
||||||
status,
|
status,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
@@ -102,6 +105,7 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
|
|||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||||
|
copyBuilder.deprecation = original.deprecation
|
||||||
copyBuilder.status = original.status
|
copyBuilder.status = original.status
|
||||||
copyBuilder.containerSource = original.containerSource
|
copyBuilder.containerSource = original.containerSource
|
||||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||||
|
|||||||
+4
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -37,6 +38,7 @@ class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder
|
|||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
var deprecation: DeprecationsPerUseSite? = null
|
||||||
lateinit var status: FirDeclarationStatus
|
lateinit var status: FirDeclarationStatus
|
||||||
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
@@ -51,6 +53,7 @@ class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder
|
|||||||
resolvePhase,
|
resolvePhase,
|
||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
|
deprecation,
|
||||||
status,
|
status,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
name,
|
name,
|
||||||
@@ -81,6 +84,7 @@ inline fun buildTypeAliasCopy(original: FirTypeAlias, init: FirTypeAliasBuilder.
|
|||||||
copyBuilder.resolvePhase = original.resolvePhase
|
copyBuilder.resolvePhase = original.resolvePhase
|
||||||
copyBuilder.origin = original.origin
|
copyBuilder.origin = original.origin
|
||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
|
copyBuilder.deprecation = original.deprecation
|
||||||
copyBuilder.status = original.status
|
copyBuilder.status = original.status
|
||||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||||
copyBuilder.name = original.name
|
copyBuilder.name = original.name
|
||||||
|
|||||||
+4
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
|||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -42,6 +43,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
open lateinit var origin: FirDeclarationOrigin
|
open lateinit var origin: FirDeclarationOrigin
|
||||||
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
open lateinit var returnTypeRef: FirTypeRef
|
open lateinit var returnTypeRef: FirTypeRef
|
||||||
|
open var deprecation: DeprecationsPerUseSite? = null
|
||||||
open var containerSource: DeserializedContainerSource? = null
|
open var containerSource: DeserializedContainerSource? = null
|
||||||
open var dispatchReceiverType: ConeKotlinType? = null
|
open var dispatchReceiverType: ConeKotlinType? = null
|
||||||
open lateinit var name: Name
|
open lateinit var name: Name
|
||||||
@@ -60,6 +62,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
origin,
|
origin,
|
||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
|
deprecation,
|
||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
name,
|
name,
|
||||||
@@ -94,6 +97,7 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
|
|||||||
copyBuilder.origin = original.origin
|
copyBuilder.origin = original.origin
|
||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||||
|
copyBuilder.deprecation = original.deprecation
|
||||||
copyBuilder.containerSource = original.containerSource
|
copyBuilder.containerSource = original.containerSource
|
||||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||||
copyBuilder.name = original.name
|
copyBuilder.name = original.name
|
||||||
|
|||||||
+6
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
|
|||||||
import org.jetbrains.kotlin.fir.FirLabel
|
import org.jetbrains.kotlin.fir.FirLabel
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -40,6 +41,7 @@ internal class FirAnonymousFunctionImpl(
|
|||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override var controlFlowGraphReference: FirControlFlowGraphReference?,
|
override var controlFlowGraphReference: FirControlFlowGraphReference?,
|
||||||
@@ -134,6 +136,10 @@ internal class FirAnonymousFunctionImpl(
|
|||||||
receiverTypeRef = newReceiverTypeRef
|
receiverTypeRef = newReceiverTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
@@ -32,6 +33,7 @@ internal class FirAnonymousObjectImpl(
|
|||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||||
override val classKind: ClassKind,
|
override val classKind: ClassKind,
|
||||||
override val superTypeRefs: MutableList<FirTypeRef>,
|
override val superTypeRefs: MutableList<FirTypeRef>,
|
||||||
@@ -87,6 +89,10 @@ internal class FirAnonymousObjectImpl(
|
|||||||
resolvePhase = newResolvePhase
|
resolvePhase = newResolvePhase
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>) {
|
override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>) {
|
||||||
superTypeRefs.clear()
|
superTypeRefs.clear()
|
||||||
superTypeRefs.addAll(newSuperTypeRefs)
|
superTypeRefs.addAll(newSuperTypeRefs)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -37,6 +38,7 @@ internal class FirConstructorImpl(
|
|||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
@@ -131,6 +133,10 @@ internal class FirConstructorImpl(
|
|||||||
receiverTypeRef = newReceiverTypeRef
|
receiverTypeRef = newReceiverTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -38,6 +39,7 @@ internal class FirDefaultSetterValueParameter(
|
|||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override var initializer: FirExpression?,
|
override var initializer: FirExpression?,
|
||||||
@@ -150,6 +152,10 @@ internal class FirDefaultSetterValueParameter(
|
|||||||
receiverTypeRef = newReceiverTypeRef
|
receiverTypeRef = newReceiverTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -35,6 +36,7 @@ internal class FirEnumEntryImpl(
|
|||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
@@ -128,6 +130,10 @@ internal class FirEnumEntryImpl(
|
|||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -38,6 +39,7 @@ internal class FirErrorFunctionImpl(
|
|||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override val valueParameters: MutableList<FirValueParameter>,
|
override val valueParameters: MutableList<FirValueParameter>,
|
||||||
@@ -114,6 +116,10 @@ internal class FirErrorFunctionImpl(
|
|||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -37,6 +38,7 @@ internal class FirErrorPropertyImpl(
|
|||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
@@ -126,5 +128,9 @@ internal class FirErrorPropertyImpl(
|
|||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -36,6 +37,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
|||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
@@ -129,6 +131,10 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
|||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -37,6 +38,7 @@ internal class FirPrimaryConstructor(
|
|||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
@@ -131,6 +133,10 @@ internal class FirPrimaryConstructor(
|
|||||||
receiverTypeRef = newReceiverTypeRef
|
receiverTypeRef = newReceiverTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
|||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -38,6 +39,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
|||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
@@ -129,6 +131,10 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
|||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -39,6 +40,7 @@ internal class FirPropertyImpl(
|
|||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
@@ -154,6 +156,10 @@ internal class FirPropertyImpl(
|
|||||||
receiverTypeRef = newReceiverTypeRef
|
receiverTypeRef = newReceiverTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
@@ -34,6 +35,7 @@ internal class FirRegularClassImpl(
|
|||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||||
override val classKind: ClassKind,
|
override val classKind: ClassKind,
|
||||||
override val declarations: MutableList<FirDeclaration>,
|
override val declarations: MutableList<FirDeclaration>,
|
||||||
@@ -106,6 +108,10 @@ internal class FirRegularClassImpl(
|
|||||||
resolvePhase = newResolvePhase
|
resolvePhase = newResolvePhase
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -38,6 +39,7 @@ internal class FirSimpleFunctionImpl(
|
|||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
override var receiverTypeRef: FirTypeRef?,
|
override var receiverTypeRef: FirTypeRef?,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
@@ -132,6 +134,10 @@ internal class FirSimpleFunctionImpl(
|
|||||||
receiverTypeRef = newReceiverTypeRef
|
receiverTypeRef = newReceiverTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -30,6 +31,7 @@ internal class FirTypeAliasImpl(
|
|||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override var status: FirDeclarationStatus,
|
override var status: FirDeclarationStatus,
|
||||||
override val typeParameters: MutableList<FirTypeParameter>,
|
override val typeParameters: MutableList<FirTypeParameter>,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
@@ -80,6 +82,10 @@ internal class FirTypeAliasImpl(
|
|||||||
resolvePhase = newResolvePhase
|
resolvePhase = newResolvePhase
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceExpandedTypeRef(newExpandedTypeRef: FirTypeRef) {
|
override fun replaceExpandedTypeRef(newExpandedTypeRef: FirTypeRef) {
|
||||||
expandedTypeRef = newExpandedTypeRef
|
expandedTypeRef = newExpandedTypeRef
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -37,6 +38,7 @@ internal class FirValueParameterImpl(
|
|||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
|
override var deprecation: DeprecationsPerUseSite?,
|
||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
@@ -133,6 +135,10 @@ internal class FirValueParameterImpl(
|
|||||||
|
|
||||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
deprecation = newDeprecation
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
|
|||||||
@@ -0,0 +1,103 @@
|
|||||||
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||||
|
import org.jetbrains.kotlin.utils.keysToMap
|
||||||
|
import org.jetbrains.kotlin.utils.keysToMapExceptNulls
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
class DeprecationsPerUseSite(
|
||||||
|
val all: Deprecation?,
|
||||||
|
val bySpecificSite: Map<AnnotationUseSiteTarget, Deprecation>?
|
||||||
|
) {
|
||||||
|
fun forUseSite(vararg sites: AnnotationUseSiteTarget): Deprecation? {
|
||||||
|
if (bySpecificSite != null) {
|
||||||
|
for (site in sites) {
|
||||||
|
bySpecificSite[site]?.let { return it }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return all
|
||||||
|
}
|
||||||
|
|
||||||
|
fun isEmpty(): Boolean = all == null && bySpecificSite == null
|
||||||
|
fun isNotEmpty(): Boolean = !isEmpty()
|
||||||
|
|
||||||
|
fun combineMin(other: DeprecationsPerUseSite): DeprecationsPerUseSite {
|
||||||
|
if (isEmpty() || isEmpty()) return EmptyDeprecationsPerUseSite
|
||||||
|
|
||||||
|
return DeprecationsPerUseSite(
|
||||||
|
if (all == null || other.all == null) null else minOf(all, other.all),
|
||||||
|
if (bySpecificSite == null || other.bySpecificSite == null) {
|
||||||
|
null
|
||||||
|
} else {
|
||||||
|
bySpecificSite.keys.intersect(other.bySpecificSite.keys).keysToMap { target ->
|
||||||
|
minOf(bySpecificSite[target]!!, other.bySpecificSite[target]!!)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun combinePreferLeft(other: DeprecationsPerUseSite): DeprecationsPerUseSite {
|
||||||
|
return DeprecationsPerUseSite(
|
||||||
|
all ?: other.all,
|
||||||
|
if (bySpecificSite == null || other.bySpecificSite == null) {
|
||||||
|
bySpecificSite ?: other.bySpecificSite
|
||||||
|
} else {
|
||||||
|
bySpecificSite.keys.union(other.bySpecificSite.keys).keysToMapExceptNulls { target ->
|
||||||
|
bySpecificSite[target] ?: other.bySpecificSite[target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun inheritableOnly(): DeprecationsPerUseSite =
|
||||||
|
DeprecationsPerUseSite(
|
||||||
|
all?.takeIf { it.inheritable },
|
||||||
|
bySpecificSite?.filterValues { it.inheritable }
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun toString(): String =
|
||||||
|
if (isEmpty()) "NoDeprecation"
|
||||||
|
else "org.jetbrains.kotlin.fir.declarations.DeprecationInfoForUseSites(all=$all, bySpecificSite=$bySpecificSite)"
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun fromMap(perUseSite: Map<AnnotationUseSiteTarget?, Deprecation>): DeprecationsPerUseSite {
|
||||||
|
if (perUseSite.isEmpty()) return EmptyDeprecationsPerUseSite
|
||||||
|
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
val specificCallSite = perUseSite.filterKeys { it != null } as Map<AnnotationUseSiteTarget, Deprecation>
|
||||||
|
return DeprecationsPerUseSite(
|
||||||
|
perUseSite[null],
|
||||||
|
specificCallSite.takeIf { it.isNotEmpty() }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// values from kotlin.DeprecationLevel
|
||||||
|
enum class DeprecationLevelValue {
|
||||||
|
WARNING, ERROR, HIDDEN
|
||||||
|
}
|
||||||
|
|
||||||
|
val EmptyDeprecationsPerUseSite = DeprecationsPerUseSite(null, null)
|
||||||
|
|
||||||
+1
@@ -39,6 +39,7 @@ abstract class FirDefaultPropertyAccessor(
|
|||||||
origin,
|
origin,
|
||||||
FirDeclarationAttributes(),
|
FirDeclarationAttributes(),
|
||||||
propertyTypeRef,
|
propertyTypeRef,
|
||||||
|
deprecation = null,
|
||||||
status = if (effectiveVisibility == null)
|
status = if (effectiveVisibility == null)
|
||||||
FirDeclarationStatusImpl(visibility, Modality.FINAL)
|
FirDeclarationStatusImpl(visibility, Modality.FINAL)
|
||||||
else
|
else
|
||||||
|
|||||||
+6
-1
@@ -29,7 +29,8 @@ class FirSyntheticProperty(
|
|||||||
override val status: FirDeclarationStatus,
|
override val status: FirDeclarationStatus,
|
||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val getter: FirSyntheticPropertyAccessor,
|
override val getter: FirSyntheticPropertyAccessor,
|
||||||
override val setter: FirSyntheticPropertyAccessor? = null
|
override val setter: FirSyntheticPropertyAccessor? = null,
|
||||||
|
override val deprecation: DeprecationsPerUseSite? = null
|
||||||
) : FirProperty() {
|
) : FirProperty() {
|
||||||
init {
|
init {
|
||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
@@ -145,6 +146,10 @@ class FirSyntheticProperty(
|
|||||||
throw AssertionError("Mutation of synthetic property isn't supported")
|
throw AssertionError("Mutation of synthetic property isn't supported")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
throw AssertionError("Mutation of synthetic property isn't supported")
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
throw AssertionError("Mutation of synthetic property isn't supported")
|
throw AssertionError("Mutation of synthetic property isn't supported")
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -48,6 +48,9 @@ class FirSyntheticPropertyAccessor(
|
|||||||
|
|
||||||
override val receiverTypeRef: FirTypeRef?
|
override val receiverTypeRef: FirTypeRef?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
override val deprecation: DeprecationsPerUseSite?
|
||||||
|
get() = delegate.deprecation
|
||||||
|
|
||||||
override val valueParameters: List<FirValueParameter>
|
override val valueParameters: List<FirValueParameter>
|
||||||
get() = delegate.valueParameters
|
get() = delegate.valueParameters
|
||||||
@@ -135,6 +138,10 @@ class FirSyntheticPropertyAccessor(
|
|||||||
throw AssertionError("Mutation of synthetic property accessor isn't supported")
|
throw AssertionError("Mutation of synthetic property accessor isn't supported")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
|
||||||
|
throw AssertionError("Mutation of synthetic property accessor isn't supported")
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||||
throw AssertionError("Mutation of synthetic property accessor isn't supported")
|
throw AssertionError("Mutation of synthetic property accessor isn't supported")
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.synthetic
|
package org.jetbrains.kotlin.fir.declarations.synthetic
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
|
||||||
@@ -16,16 +17,19 @@ class FirSyntheticPropertyBuilder {
|
|||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
lateinit var symbol: FirAccessorSymbol
|
lateinit var symbol: FirAccessorSymbol
|
||||||
lateinit var delegateGetter: FirSimpleFunction
|
lateinit var delegateGetter: FirSimpleFunction
|
||||||
|
lateinit var deprecation: DeprecationsPerUseSite
|
||||||
|
|
||||||
var status: FirDeclarationStatus? = null
|
var status: FirDeclarationStatus? = null
|
||||||
var delegateSetter: FirSimpleFunction? = null
|
var delegateSetter: FirSimpleFunction? = null
|
||||||
|
|
||||||
|
|
||||||
fun build(): FirSyntheticProperty = FirSyntheticProperty(
|
fun build(): FirSyntheticProperty = FirSyntheticProperty(
|
||||||
moduleData, name, isVar = delegateSetter != null, symbol = symbol,
|
moduleData, name, isVar = delegateSetter != null, symbol = symbol,
|
||||||
status = status ?: delegateGetter.status,
|
status = status ?: delegateGetter.status,
|
||||||
resolvePhase = delegateGetter.resolvePhase,
|
resolvePhase = delegateGetter.resolvePhase,
|
||||||
getter = FirSyntheticPropertyAccessor(delegateGetter, isGetter = true),
|
getter = FirSyntheticPropertyAccessor(delegateGetter, isGetter = true),
|
||||||
setter = delegateSetter?.let { FirSyntheticPropertyAccessor(it, isGetter = false) }
|
setter = delegateSetter?.let { FirSyntheticPropertyAccessor(it, isGetter = false) },
|
||||||
|
deprecation = deprecation
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
@@ -85,6 +85,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
|
|
||||||
callableDeclaration.configure {
|
callableDeclaration.configure {
|
||||||
+field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform()
|
+field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform()
|
||||||
|
+field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true }
|
||||||
+symbol("FirCallableSymbol", "out FirCallableDeclaration")
|
+symbol("FirCallableSymbol", "out FirCallableDeclaration")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,6 +234,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
|
|
||||||
classLikeDeclaration.configure {
|
classLikeDeclaration.configure {
|
||||||
+symbol("FirClassLikeSymbol", "out FirClassLikeDeclaration")
|
+symbol("FirClassLikeSymbol", "out FirClassLikeDeclaration")
|
||||||
|
+field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true}
|
||||||
}
|
}
|
||||||
|
|
||||||
klass.configure {
|
klass.configure {
|
||||||
|
|||||||
@@ -91,3 +91,5 @@ val callableReferenceMappedArgumentsType = type("fir.resolve.calls", "CallableRe
|
|||||||
val functionCallOrigin = type("fir.expressions", "FirFunctionCallOrigin")
|
val functionCallOrigin = type("fir.expressions", "FirFunctionCallOrigin")
|
||||||
|
|
||||||
val resolvedDeclarationStatusImplType = type("fir.declarations.impl", "FirResolvedDeclarationStatusImpl")
|
val resolvedDeclarationStatusImplType = type("fir.declarations.impl", "FirResolvedDeclarationStatusImpl")
|
||||||
|
|
||||||
|
val deprecationsPerUseSiteType = type("fir.declarations", "DeprecationsPerUseSite")
|
||||||
|
|||||||
@@ -955,6 +955,7 @@ object PositioningStrategies {
|
|||||||
is KtOperationExpression -> element.operationReference
|
is KtOperationExpression -> element.operationReference
|
||||||
is KtWhenConditionInRange -> element.operationReference
|
is KtWhenConditionInRange -> element.operationReference
|
||||||
is KtAnnotationEntry -> element.calleeExpression ?: element
|
is KtAnnotationEntry -> element.calleeExpression ?: element
|
||||||
|
is KtTypeReference -> (element.typeElement as? KtNullableType)?.innerType ?: element
|
||||||
else -> element
|
else -> element
|
||||||
}
|
}
|
||||||
while (locateReferencedName && result is KtParenthesizedExpression) {
|
while (locateReferencedName && result is KtParenthesizedExpression) {
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ package foo
|
|||||||
|
|
||||||
fun f() {
|
fun f() {
|
||||||
class Local1 {
|
class Local1 {
|
||||||
fun g() : <!UNRESOLVED_REFERENCE!>bar.X?<!> = null
|
fun g() : <!UNRESOLVED_REFERENCE!>bar.X<!>? = null
|
||||||
}
|
}
|
||||||
class Local2 {
|
class Local2 {
|
||||||
fun g() : foo.bar.X? = null
|
fun g() : foo.bar.X? = null
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ package foobar.a
|
|||||||
import java.*
|
import java.*
|
||||||
|
|
||||||
val a : java.util.List<Int>? = null
|
val a : java.util.List<Int>? = null
|
||||||
val a2 : <!UNRESOLVED_REFERENCE!>util.List<Int>?<!> = null
|
val a2 : <!UNRESOLVED_REFERENCE!>util.List<Int><!>? = null
|
||||||
val a3 : <!UNRESOLVED_REFERENCE!>LinkedList<Int>?<!> = null
|
val a3 : <!UNRESOLVED_REFERENCE!>LinkedList<Int><!>? = null
|
||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
package foobar
|
package foobar
|
||||||
@@ -20,7 +20,7 @@ package foobar.a
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
val b : List<Int>? = <!INITIALIZER_TYPE_MISMATCH!>a<!>
|
val b : List<Int>? = <!INITIALIZER_TYPE_MISMATCH!>a<!>
|
||||||
val b1 : <!UNRESOLVED_REFERENCE!>util.List<Int>?<!> = a
|
val b1 : <!UNRESOLVED_REFERENCE!>util.List<Int><!>? = a
|
||||||
|
|
||||||
// FILE: d.kt
|
// FILE: d.kt
|
||||||
package foobar
|
package foobar
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
@Deprecated("text")
|
|
||||||
annotation class obsolete()
|
|
||||||
|
|
||||||
@Deprecated("text")
|
|
||||||
annotation class obsoleteWithParam(val text: String)
|
|
||||||
|
|
||||||
@obsolete class Obsolete
|
|
||||||
|
|
||||||
@obsoleteWithParam("text") class Obsolete2
|
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
@Deprecated("text")
|
@Deprecated("text")
|
||||||
annotation class obsolete()
|
annotation class obsolete()
|
||||||
|
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
||||||
|
|
||||||
// FILE: A.kt
|
|
||||||
class A(s: String) {
|
|
||||||
@Deprecated("")
|
|
||||||
constructor(i: Int) : this(i.toString()) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FILE: B.java
|
|
||||||
public class B extends A {
|
|
||||||
@Deprecated
|
|
||||||
public B(int i) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public B(String s) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FILE: C.kt
|
|
||||||
class C @Deprecated("") constructor(s: String) {
|
|
||||||
}
|
|
||||||
|
|
||||||
// FILE: use.kt
|
|
||||||
fun use(a: A, b: B, c: C) {
|
|
||||||
A(3)
|
|
||||||
A("")
|
|
||||||
B(3)
|
|
||||||
B("")
|
|
||||||
C("s")
|
|
||||||
}
|
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||||
|
|
||||||
// FILE: A.kt
|
// FILE: A.kt
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
||||||
@Deprecated("alas", level = DeprecationLevel.ERROR)
|
|
||||||
fun foo() {}
|
|
||||||
|
|
||||||
@Deprecated("alas", level = DeprecationLevel.ERROR)
|
|
||||||
class C
|
|
||||||
|
|
||||||
fun test(c: C) {
|
|
||||||
foo()
|
|
||||||
C()
|
|
||||||
}
|
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||||
@Deprecated("alas", level = DeprecationLevel.ERROR)
|
@Deprecated("alas", level = DeprecationLevel.ERROR)
|
||||||
fun foo() {}
|
fun foo() {}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user