[FIR] Partial implementation of DEPRECATION(_ERROR) diagnostics

No support for inheritance deprecations
and deprecations in qualifier's parts
This commit is contained in:
Andrey Zinovyev
2021-06-23 15:25:23 +03:00
committed by teamcityserver
parent 9fad55d551
commit de3f31cf78
188 changed files with 984 additions and 1052 deletions
@@ -33,6 +33,7 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
@@ -59,6 +60,8 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
@@ -27,6 +27,7 @@ abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val classKind: ClassKind
abstract override val superTypeRefs: List<FirTypeRef>
@@ -44,6 +45,8 @@ abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
@@ -27,6 +27,7 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract val receiverTypeRef: FirTypeRef?
abstract val deprecation: DeprecationsPerUseSite?
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
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 replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
@@ -29,6 +29,7 @@ sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberD
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
@@ -47,6 +48,8 @@ sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberD
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> 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 origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val symbol: FirClassSymbol<out FirClass>
abstract val classKind: ClassKind
@@ -43,6 +44,8 @@ sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParamete
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
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 annotations: List<FirAnnotationCall>
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)
@@ -35,5 +36,7 @@ sealed class FirClassLikeDeclaration : FirAnnotatedDeclaration(), FirStatement {
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
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 returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
@@ -55,6 +56,8 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
@@ -30,6 +30,7 @@ abstract class FirEnumEntry : FirVariable() {
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
@@ -56,6 +57,8 @@ abstract class FirEnumEntry : FirVariable() {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceInitializer(newInitializer: FirExpression?)
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 returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
@@ -55,6 +56,8 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
@@ -32,6 +32,7 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
@@ -59,6 +60,8 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceInitializer(newInitializer: FirExpression?)
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 returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
@@ -56,6 +57,8 @@ abstract class FirField : FirVariable() {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceInitializer(newInitializer: FirExpression?)
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 returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
@@ -54,6 +55,8 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
abstract fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
@@ -33,6 +33,7 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
@@ -64,6 +65,8 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceInitializer(newInitializer: FirExpression?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
@@ -31,6 +31,7 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
@@ -56,6 +57,8 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
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 origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val classKind: ClassKind
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 replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
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 returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
@@ -56,6 +57,8 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
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 origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val typeParameters: List<FirTypeParameter>
abstract val name: Name
@@ -40,6 +41,8 @@ abstract class FirTypeAlias : FirClassLikeDeclaration(), FirMemberDeclaration, F
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract fun replaceExpandedTypeRef(newExpandedTypeRef: FirTypeRef)
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 returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
@@ -62,6 +63,8 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun replaceInitializer(newInitializer: FirExpression?)
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
@@ -31,6 +31,7 @@ sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement {
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
@@ -57,6 +58,8 @@ sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement {
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract fun replaceInitializer(newInitializer: FirExpression?)
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.builder
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -40,6 +41,7 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
abstract override var attributes: FirDeclarationAttributes
abstract override val annotations: MutableList<FirAnnotationCall>
abstract override var returnTypeRef: FirTypeRef
abstract override var deprecation: DeprecationsPerUseSite?
abstract override var status: FirDeclarationStatus
abstract override var containerSource: DeserializedContainerSource?
abstract override var dispatchReceiverType: ConeKotlinType?
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -47,6 +48,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeKotlinType? = null
var controlFlowGraphReference: FirControlFlowGraphReference? = null
@@ -69,6 +71,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
annotations,
returnTypeRef,
receiverTypeRef,
deprecation,
containerSource,
dispatchReceiverType,
controlFlowGraphReference,
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
@@ -39,6 +40,7 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var deprecation: DeprecationsPerUseSite? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var classKind: ClassKind
override val superTypeRefs: MutableList<FirTypeRef> = mutableListOf()
@@ -54,6 +56,7 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn
resolvePhase,
origin,
attributes,
deprecation,
typeParameters,
classKind,
superTypeRefs,
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
@@ -35,6 +36,7 @@ interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder
abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes
abstract override val annotations: MutableList<FirAnnotationCall>
abstract var deprecation: DeprecationsPerUseSite?
abstract val typeParameters: MutableList<FirTypeParameterRef>
abstract var classKind: ClassKind
abstract val superTypeRefs: MutableList<FirTypeRef>
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -43,6 +44,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var status: FirDeclarationStatus
override var containerSource: DeserializedContainerSource? = null
@@ -62,6 +64,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
attributes,
returnTypeRef,
receiverTypeRef,
deprecation,
typeParameters,
status,
containerSource,
@@ -104,6 +107,7 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.typeParameters.addAll(original.typeParameters)
copyBuilder.status = original.status
copyBuilder.containerSource = original.containerSource
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -43,6 +44,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
var deprecation: DeprecationsPerUseSite? = null
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeKotlinType? = null
var initializer: FirExpression? = null
@@ -67,6 +69,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
attributes,
returnTypeRef,
receiverTypeRef,
deprecation,
containerSource,
dispatchReceiverType,
initializer,
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -40,6 +41,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var deprecation: DeprecationsPerUseSite? = null
val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
lateinit var status: FirDeclarationStatus
var containerSource: DeserializedContainerSource? = null
@@ -57,6 +59,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
origin,
attributes,
returnTypeRef,
deprecation,
typeParameters,
status,
containerSource,
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -43,6 +44,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
var deprecation: DeprecationsPerUseSite? = null
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeKotlinType? = null
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -57,6 +59,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
origin,
attributes,
annotations,
deprecation,
containerSource,
dispatchReceiverType,
valueParameters,
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -42,6 +43,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
var deprecation: DeprecationsPerUseSite? = null
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeKotlinType? = null
lateinit var name: Name
@@ -56,6 +58,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
resolvePhase,
origin,
attributes,
deprecation,
containerSource,
dispatchReceiverType,
name,
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -42,6 +43,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
open lateinit var returnTypeRef: FirTypeRef
open var deprecation: DeprecationsPerUseSite? = null
open val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
open lateinit var status: FirDeclarationStatus
open var containerSource: DeserializedContainerSource? = null
@@ -61,6 +63,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
origin,
attributes,
returnTypeRef,
deprecation,
typeParameters,
status,
containerSource,
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -37,6 +38,7 @@ interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuil
abstract override var attributes: FirDeclarationAttributes
abstract override val annotations: MutableList<FirAnnotationCall>
abstract var returnTypeRef: FirTypeRef
abstract var deprecation: DeprecationsPerUseSite?
abstract var status: FirDeclarationStatus
abstract var containerSource: DeserializedContainerSource?
abstract var dispatchReceiverType: ConeKotlinType?
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -43,6 +44,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var status: FirDeclarationStatus
override var containerSource: DeserializedContainerSource? = null
@@ -62,6 +64,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
attributes,
returnTypeRef,
receiverTypeRef,
deprecation,
typeParameters,
status,
containerSource,
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -45,6 +46,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var deprecation: DeprecationsPerUseSite? = null
override lateinit var status: FirDeclarationStatus
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeKotlinType? = null
@@ -65,6 +67,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
origin,
attributes,
returnTypeRef,
deprecation,
status,
containerSource,
dispatchReceiverType,
@@ -100,6 +103,7 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.status = original.status
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -46,6 +47,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
var deprecation: DeprecationsPerUseSite? = null
lateinit var status: FirDeclarationStatus
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeKotlinType? = null
@@ -71,6 +73,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
attributes,
returnTypeRef,
receiverTypeRef,
deprecation,
status,
containerSource,
dispatchReceiverType,
@@ -112,6 +115,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.status = original.status
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -41,6 +42,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var deprecation: DeprecationsPerUseSite? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var classKind: ClassKind
override val declarations: MutableList<FirDeclaration> = mutableListOf()
@@ -59,6 +61,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
resolvePhase,
origin,
attributes,
deprecation,
typeParameters,
classKind,
declarations,
@@ -93,6 +96,7 @@ inline fun buildRegularClassCopy(original: FirRegularClass, init: FirRegularClas
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.deprecation = original.deprecation
copyBuilder.typeParameters.addAll(original.typeParameters)
copyBuilder.classKind = original.classKind
copyBuilder.declarations.addAll(original.declarations)
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -46,6 +47,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
open var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override lateinit var status: FirDeclarationStatus
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeKotlinType? = null
@@ -66,6 +68,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
attributes,
returnTypeRef,
receiverTypeRef,
deprecation,
status,
containerSource,
dispatchReceiverType,
@@ -102,6 +105,7 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.status = original.status
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -37,6 +38,7 @@ class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
var deprecation: DeprecationsPerUseSite? = null
lateinit var status: FirDeclarationStatus
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
lateinit var name: Name
@@ -51,6 +53,7 @@ class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder
resolvePhase,
origin,
attributes,
deprecation,
status,
typeParameters,
name,
@@ -81,6 +84,7 @@ inline fun buildTypeAliasCopy(original: FirTypeAlias, init: FirTypeAliasBuilder.
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.deprecation = original.deprecation
copyBuilder.status = original.status
copyBuilder.typeParameters.addAll(original.typeParameters)
copyBuilder.name = original.name
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -42,6 +43,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
open lateinit var origin: FirDeclarationOrigin
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
open lateinit var returnTypeRef: FirTypeRef
open var deprecation: DeprecationsPerUseSite? = null
open var containerSource: DeserializedContainerSource? = null
open var dispatchReceiverType: ConeKotlinType? = null
open lateinit var name: Name
@@ -60,6 +62,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
origin,
attributes,
returnTypeRef,
deprecation,
containerSource,
dispatchReceiverType,
name,
@@ -94,6 +97,7 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
copyBuilder.name = original.name
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -40,6 +41,7 @@ internal class FirAnonymousFunctionImpl(
override val annotations: MutableList<FirAnnotationCall>,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override var controlFlowGraphReference: FirControlFlowGraphReference?,
@@ -134,6 +136,10 @@ internal class FirAnonymousFunctionImpl(
receiverTypeRef = newReceiverTypeRef
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
controlFlowGraphReference = newControlFlowGraphReference
}
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
@@ -32,6 +33,7 @@ internal class FirAnonymousObjectImpl(
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override val classKind: ClassKind,
override val superTypeRefs: MutableList<FirTypeRef>,
@@ -87,6 +89,10 @@ internal class FirAnonymousObjectImpl(
resolvePhase = newResolvePhase
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>) {
superTypeRefs.clear()
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.FirSourceElement
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
import org.jetbrains.kotlin.fir.declarations.FirConstructor
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -37,6 +38,7 @@ internal class FirConstructorImpl(
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
@@ -131,6 +133,10 @@ internal class FirConstructorImpl(
receiverTypeRef = newReceiverTypeRef
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
controlFlowGraphReference = newControlFlowGraphReference
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -38,6 +39,7 @@ internal class FirDefaultSetterValueParameter(
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override var initializer: FirExpression?,
@@ -150,6 +152,10 @@ internal class FirDefaultSetterValueParameter(
receiverTypeRef = newReceiverTypeRef
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceInitializer(newInitializer: FirExpression?) {
initializer = newInitializer
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -35,6 +36,7 @@ internal class FirEnumEntryImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
@@ -128,6 +130,10 @@ internal class FirEnumEntryImpl(
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceInitializer(newInitializer: FirExpression?) {
initializer = newInitializer
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -38,6 +39,7 @@ internal class FirErrorFunctionImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val annotations: MutableList<FirAnnotationCall>,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val valueParameters: MutableList<FirValueParameter>,
@@ -114,6 +116,10 @@ internal class FirErrorFunctionImpl(
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
controlFlowGraphReference = newControlFlowGraphReference
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -37,6 +38,7 @@ internal class FirErrorPropertyImpl(
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val name: Name,
@@ -126,5 +128,9 @@ internal class FirErrorPropertyImpl(
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
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.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -36,6 +37,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
@@ -129,6 +131,10 @@ class FirFieldImpl @FirImplementationDetail constructor(
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceInitializer(newInitializer: FirExpression?) {
initializer = newInitializer
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -37,6 +38,7 @@ internal class FirPrimaryConstructor(
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
@@ -131,6 +133,10 @@ internal class FirPrimaryConstructor(
receiverTypeRef = newReceiverTypeRef
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
controlFlowGraphReference = newControlFlowGraphReference
}
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -38,6 +39,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var deprecation: DeprecationsPerUseSite?,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
@@ -129,6 +131,10 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
controlFlowGraphReference = newControlFlowGraphReference
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -39,6 +40,7 @@ internal class FirPropertyImpl(
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
@@ -154,6 +156,10 @@ internal class FirPropertyImpl(
receiverTypeRef = newReceiverTypeRef
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceInitializer(newInitializer: FirExpression?) {
initializer = newInitializer
}
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
@@ -34,6 +35,7 @@ internal class FirRegularClassImpl(
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override val classKind: ClassKind,
override val declarations: MutableList<FirDeclaration>,
@@ -106,6 +108,10 @@ internal class FirRegularClassImpl(
resolvePhase = newResolvePhase
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
controlFlowGraphReference = newControlFlowGraphReference
}
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -38,6 +39,7 @@ internal class FirSimpleFunctionImpl(
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
@@ -132,6 +134,10 @@ internal class FirSimpleFunctionImpl(
receiverTypeRef = newReceiverTypeRef
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
controlFlowGraphReference = newControlFlowGraphReference
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -30,6 +31,7 @@ internal class FirTypeAliasImpl(
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var deprecation: DeprecationsPerUseSite?,
override var status: FirDeclarationStatus,
override val typeParameters: MutableList<FirTypeParameter>,
override val name: Name,
@@ -80,6 +82,10 @@ internal class FirTypeAliasImpl(
resolvePhase = newResolvePhase
}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceExpandedTypeRef(newExpandedTypeRef: FirTypeRef) {
expandedTypeRef = newExpandedTypeRef
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirModuleData
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.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -37,6 +38,7 @@ internal class FirValueParameterImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val name: Name,
@@ -133,6 +135,10 @@ internal class FirValueParameterImpl(
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) {
deprecation = newDeprecation
}
override fun replaceInitializer(newInitializer: FirExpression?) {}
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)
@@ -39,6 +39,7 @@ abstract class FirDefaultPropertyAccessor(
origin,
FirDeclarationAttributes(),
propertyTypeRef,
deprecation = null,
status = if (effectiveVisibility == null)
FirDeclarationStatusImpl(visibility, Modality.FINAL)
else
@@ -29,7 +29,8 @@ class FirSyntheticProperty(
override val status: FirDeclarationStatus,
override var resolvePhase: FirResolvePhase,
override val getter: FirSyntheticPropertyAccessor,
override val setter: FirSyntheticPropertyAccessor? = null
override val setter: FirSyntheticPropertyAccessor? = null,
override val deprecation: DeprecationsPerUseSite? = null
) : FirProperty() {
init {
symbol.bind(this)
@@ -145,6 +146,10 @@ class FirSyntheticProperty(
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?) {
throw AssertionError("Mutation of synthetic property isn't supported")
}
@@ -48,6 +48,9 @@ class FirSyntheticPropertyAccessor(
override val receiverTypeRef: FirTypeRef?
get() = null
override val deprecation: DeprecationsPerUseSite?
get() = delegate.deprecation
override val valueParameters: List<FirValueParameter>
get() = delegate.valueParameters
@@ -135,6 +138,10 @@ class FirSyntheticPropertyAccessor(
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>) {
throw AssertionError("Mutation of synthetic property accessor isn't supported")
}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.synthetic
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.FirSimpleFunction
import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
@@ -16,16 +17,19 @@ class FirSyntheticPropertyBuilder {
lateinit var name: Name
lateinit var symbol: FirAccessorSymbol
lateinit var delegateGetter: FirSimpleFunction
lateinit var deprecation: DeprecationsPerUseSite
var status: FirDeclarationStatus? = null
var delegateSetter: FirSimpleFunction? = null
fun build(): FirSyntheticProperty = FirSyntheticProperty(
moduleData, name, isVar = delegateSetter != null, symbol = symbol,
status = status ?: delegateGetter.status,
resolvePhase = delegateGetter.resolvePhase,
getter = FirSyntheticPropertyAccessor(delegateGetter, isGetter = true),
setter = delegateSetter?.let { FirSyntheticPropertyAccessor(it, isGetter = false) }
setter = delegateSetter?.let { FirSyntheticPropertyAccessor(it, isGetter = false) },
deprecation = deprecation
)
}
@@ -85,6 +85,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
callableDeclaration.configure {
+field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform()
+field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true }
+symbol("FirCallableSymbol", "out FirCallableDeclaration")
}
@@ -233,6 +234,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
classLikeDeclaration.configure {
+symbol("FirClassLikeSymbol", "out FirClassLikeDeclaration")
+field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true}
}
klass.configure {
@@ -91,3 +91,5 @@ val callableReferenceMappedArgumentsType = type("fir.resolve.calls", "CallableRe
val functionCallOrigin = type("fir.expressions", "FirFunctionCallOrigin")
val resolvedDeclarationStatusImplType = type("fir.declarations.impl", "FirResolvedDeclarationStatusImpl")
val deprecationsPerUseSiteType = type("fir.declarations", "DeprecationsPerUseSite")