[FIR] introduce FirReceiverParameter

^KT-54417
This commit is contained in:
Dmitrii Gridin
2022-10-12 16:26:28 +02:00
committed by Space Team
parent e6801abce8
commit be7d282974
142 changed files with 821 additions and 580 deletions
@@ -33,7 +33,7 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -60,7 +60,7 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -84,7 +84,7 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
@@ -31,7 +31,7 @@ abstract class FirBackingField : FirVariable(), FirTypeParametersOwner, FirState
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -60,7 +60,7 @@ abstract class FirBackingField : FirVariable(), FirTypeParametersOwner, FirState
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -74,7 +74,7 @@ abstract class FirBackingField : FirVariable(), FirTypeParametersOwner, FirState
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirBackingField
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirBackingField
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirBackingField
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirBackingField
@@ -30,7 +30,7 @@ sealed class FirCallableDeclaration : FirMemberDeclaration() {
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract val returnTypeRef: FirTypeRef
abstract val receiverTypeRef: FirTypeRef?
abstract val receiverParameter: FirReceiverParameter?
abstract val deprecationsProvider: DeprecationsProvider
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
abstract val containerSource: DeserializedContainerSource?
@@ -47,7 +47,7 @@ sealed class FirCallableDeclaration : FirMemberDeclaration() {
abstract fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -61,5 +61,5 @@ sealed class FirCallableDeclaration : FirMemberDeclaration() {
abstract fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
}
@@ -32,7 +32,7 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -55,7 +55,7 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -73,7 +73,7 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirConstructor
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructor
@@ -31,7 +31,7 @@ abstract class FirEnumEntry : FirVariable() {
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -57,7 +57,7 @@ abstract class FirEnumEntry : FirVariable() {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -75,7 +75,7 @@ abstract class FirEnumEntry : FirVariable() {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirEnumEntry
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirEnumEntry
@@ -33,7 +33,7 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -55,7 +55,7 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -73,7 +73,7 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirErrorFunction
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirErrorFunction
@@ -33,7 +33,7 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -60,7 +60,7 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -78,7 +78,7 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirErrorProperty
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirErrorProperty
@@ -32,7 +32,7 @@ abstract class FirField : FirVariable(), FirControlFlowGraphOwner {
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -59,7 +59,7 @@ abstract class FirField : FirVariable(), FirControlFlowGraphOwner {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -79,7 +79,7 @@ abstract class FirField : FirVariable(), FirControlFlowGraphOwner {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirField
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirField
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirField
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirField
@@ -34,7 +34,7 @@ sealed class FirFunction : FirCallableDeclaration(), FirTargetElement, FirContro
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -54,7 +54,7 @@ sealed class FirFunction : FirCallableDeclaration(), FirTargetElement, FirContro
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -74,7 +74,7 @@ sealed class FirFunction : FirCallableDeclaration(), FirTargetElement, FirContro
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFunction
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirFunction
abstract fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirFunction
@@ -32,7 +32,7 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -63,7 +63,7 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -83,7 +83,7 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirProperty
@@ -32,7 +32,7 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -58,7 +58,7 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -76,7 +76,7 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
@@ -0,0 +1,35 @@
/*
* Copyright 2010-2022 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.KtSourceElement
import org.jetbrains.kotlin.fir.FirAnnotationContainer
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
abstract class FirReceiverParameter : FirPureAbstractElement(), FirAnnotationContainer {
abstract override val source: KtSourceElement?
abstract val type: FirTypeRef
abstract override val annotations: List<FirAnnotation>
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitReceiverParameter(this, data)
@Suppress("UNCHECKED_CAST")
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
transformer.transformReceiverParameter(this, data) as E
abstract fun <D> transformType(transformer: FirTransformer<D>, data: D): FirReceiverParameter
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirReceiverParameter
}
@@ -32,7 +32,7 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -56,7 +56,7 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -74,7 +74,7 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirSimpleFunction
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirSimpleFunction
@@ -32,7 +32,7 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -63,7 +63,7 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -83,7 +83,7 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirValueParameter
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirValueParameter
@@ -32,7 +32,7 @@ sealed class FirVariable : FirCallableDeclaration(), FirStatement {
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val receiverParameter: FirReceiverParameter?
abstract override val deprecationsProvider: DeprecationsProvider
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeSimpleKotlinType?
@@ -58,7 +58,7 @@ sealed class FirVariable : FirCallableDeclaration(), FirStatement {
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?)
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
@@ -76,7 +76,7 @@ sealed class FirVariable : FirCallableDeclaration(), FirStatement {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
abstract override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirVariable
abstract fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirVariable
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -52,7 +53,7 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
abstract override val valueParameters: MutableList<FirValueParameter>
abstract override var body: FirBlock?
abstract val typeParameters: MutableList<FirTypeParameterRef>
abstract var receiverTypeRef: FirTypeRef?
abstract var receiverParameter: FirReceiverParameter?
abstract var controlFlowGraphReference: FirControlFlowGraphReference?
abstract var symbol: FirConstructorSymbol
abstract var delegatedConstructor: FirDelegatedConstructorCall?
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -51,7 +52,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
var receiverParameter: FirReceiverParameter? = null
override var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeSimpleKotlinType? = null
@@ -76,7 +77,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
origin,
attributes,
returnTypeRef,
receiverTypeRef,
receiverParameter,
deprecationsProvider,
containerSource,
dispatchReceiverType,
@@ -131,7 +132,7 @@ inline fun buildAnonymousFunctionCopy(original: FirAnonymousFunction, init: FirA
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.receiverParameter = original.receiverParameter
copyBuilder.deprecationsProvider = original.deprecationsProvider
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.UnresolvedDeprecationProvider
@@ -47,7 +48,7 @@ class FirBackingFieldBuilder : FirAnnotationContainerBuilder {
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
var receiverParameter: FirReceiverParameter? = null
var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeSimpleKotlinType? = null
@@ -75,7 +76,7 @@ class FirBackingFieldBuilder : FirAnnotationContainerBuilder {
origin,
attributes,
returnTypeRef,
receiverTypeRef,
receiverParameter,
deprecationsProvider,
containerSource,
dispatchReceiverType,
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -49,7 +50,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var status: FirDeclarationStatus
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override var receiverParameter: FirReceiverParameter? = null
override var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeSimpleKotlinType? = null
@@ -70,7 +71,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
typeParameters,
status,
returnTypeRef,
receiverTypeRef,
receiverParameter,
deprecationsProvider,
containerSource,
dispatchReceiverType,
@@ -114,7 +115,7 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
copyBuilder.typeParameters.addAll(original.typeParameters)
copyBuilder.status = original.status
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.receiverParameter = original.receiverParameter
copyBuilder.deprecationsProvider = original.deprecationsProvider
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -48,7 +49,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
var receiverParameter: FirReceiverParameter? = null
var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeSimpleKotlinType? = null
@@ -75,7 +76,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
origin,
attributes,
returnTypeRef,
receiverTypeRef,
receiverParameter,
deprecationsProvider,
containerSource,
dispatchReceiverType,
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.UnresolvedDeprecationProvider
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirErrorProperty
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.UnresolvedDeprecationProvider
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.UnresolvedDeprecationProvider
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -50,7 +51,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var status: FirDeclarationStatus
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override var receiverParameter: FirReceiverParameter? = null
override var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeSimpleKotlinType? = null
@@ -72,7 +73,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
typeParameters,
status,
returnTypeRef,
receiverTypeRef,
receiverParameter,
deprecationsProvider,
containerSource,
dispatchReceiverType,
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirPropertyBodyResolveState
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.UnresolvedDeprecationProvider
@@ -53,7 +54,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var status: FirDeclarationStatus
lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
var receiverParameter: FirReceiverParameter? = null
var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeSimpleKotlinType? = null
@@ -81,7 +82,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
attributes,
status,
returnTypeRef,
receiverTypeRef,
receiverParameter,
deprecationsProvider,
containerSource,
dispatchReceiverType,
@@ -125,7 +126,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
copyBuilder.attributes = original.attributes.copy()
copyBuilder.status = original.status
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.receiverParameter = original.receiverParameter
copyBuilder.deprecationsProvider = original.deprecationsProvider
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
@@ -0,0 +1,59 @@
/*
* Copyright 2010-2022 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.
*/
@file:Suppress("DuplicatedCode")
package org.jetbrains.kotlin.fir.declarations.builder
import kotlin.contracts.*
import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.impl.FirReceiverParameterImpl
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
@FirBuilderDsl
class FirReceiverParameterBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
lateinit var type: FirTypeRef
override val annotations: MutableList<FirAnnotation> = mutableListOf()
override fun build(): FirReceiverParameter {
return FirReceiverParameterImpl(
source,
type,
annotations,
)
}
}
@OptIn(ExperimentalContracts::class)
inline fun buildReceiverParameter(init: FirReceiverParameterBuilder.() -> Unit): FirReceiverParameter {
contract {
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
}
return FirReceiverParameterBuilder().apply(init).build()
}
@OptIn(ExperimentalContracts::class)
inline fun buildReceiverParameterCopy(original: FirReceiverParameter, init: FirReceiverParameterBuilder.() -> Unit): FirReceiverParameter {
contract {
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
}
val copyBuilder = FirReceiverParameterBuilder()
copyBuilder.source = original.source
copyBuilder.type = original.type
copyBuilder.annotations.addAll(original.annotations)
return copyBuilder.apply(init).build()
}
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -51,7 +52,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var status: FirDeclarationStatus
override lateinit var returnTypeRef: FirTypeRef
open var receiverTypeRef: FirTypeRef? = null
open var receiverParameter: FirReceiverParameter? = null
override var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeSimpleKotlinType? = null
@@ -73,7 +74,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
attributes,
status,
returnTypeRef,
receiverTypeRef,
receiverParameter,
deprecationsProvider,
containerSource,
dispatchReceiverType,
@@ -111,7 +112,7 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
copyBuilder.attributes = original.attributes.copy()
copyBuilder.status = original.status
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.receiverParameter = original.receiverParameter
copyBuilder.deprecationsProvider = original.deprecationsProvider
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -43,7 +44,7 @@ internal class FirAnonymousFunctionImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var receiverParameter: FirReceiverParameter?,
override var deprecationsProvider: DeprecationsProvider,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeSimpleKotlinType?,
@@ -72,7 +73,7 @@ internal class FirAnonymousFunctionImpl(
annotations.forEach { it.accept(visitor, data) }
status.accept(visitor, data)
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
receiverParameter?.accept(visitor, data)
contextReceivers.forEach { it.accept(visitor, data) }
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
@@ -86,7 +87,7 @@ internal class FirAnonymousFunctionImpl(
transformAnnotations(transformer, data)
transformStatus(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformReceiverParameter(transformer, data)
contextReceivers.transformInplace(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
@@ -112,8 +113,8 @@ internal class FirAnonymousFunctionImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
receiverParameter = receiverParameter?.transform(transformer, data)
return this
}
@@ -140,8 +141,8 @@ internal class FirAnonymousFunctionImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
receiverTypeRef = newReceiverTypeRef
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
receiverParameter = newReceiverParameter
}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
@@ -42,7 +43,7 @@ open class FirBackingFieldImpl @FirImplementationDetail constructor(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var receiverParameter: FirReceiverParameter?,
override var deprecationsProvider: DeprecationsProvider,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeSimpleKotlinType?,
@@ -67,7 +68,7 @@ open class FirBackingFieldImpl @FirImplementationDetail constructor(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
receiverParameter?.accept(visitor, data)
contextReceivers.forEach { it.accept(visitor, data) }
delegate?.accept(visitor, data)
getter?.accept(visitor, data)
@@ -81,7 +82,7 @@ open class FirBackingFieldImpl @FirImplementationDetail constructor(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformReceiverParameter(transformer, data)
transformDelegate(transformer, data)
transformGetter(transformer, data)
transformSetter(transformer, data)
@@ -98,8 +99,8 @@ open class FirBackingFieldImpl @FirImplementationDetail constructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
receiverParameter = receiverParameter?.transform(transformer, data)
return this
}
@@ -157,8 +158,8 @@ open class FirBackingFieldImpl @FirImplementationDetail constructor(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
receiverTypeRef = newReceiverTypeRef
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
receiverParameter = newReceiverParameter
}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -43,7 +44,7 @@ internal class FirConstructorImpl(
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var receiverParameter: FirReceiverParameter?,
override var deprecationsProvider: DeprecationsProvider,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeSimpleKotlinType?,
@@ -65,7 +66,7 @@ internal class FirConstructorImpl(
typeParameters.forEach { it.accept(visitor, data) }
status.accept(visitor, data)
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
receiverParameter?.accept(visitor, data)
contextReceivers.forEach { it.accept(visitor, data) }
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
@@ -78,7 +79,7 @@ internal class FirConstructorImpl(
transformTypeParameters(transformer, data)
transformStatus(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformReceiverParameter(transformer, data)
contextReceivers.transformInplace(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
@@ -103,8 +104,8 @@ internal class FirConstructorImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
receiverParameter = receiverParameter?.transform(transformer, data)
return this
}
@@ -136,8 +137,8 @@ internal class FirConstructorImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
receiverTypeRef = newReceiverTypeRef
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
receiverParameter = newReceiverParameter
}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -43,7 +44,7 @@ internal class FirDefaultSetterValueParameter(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var receiverParameter: FirReceiverParameter?,
override var deprecationsProvider: DeprecationsProvider,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeSimpleKotlinType?,
@@ -74,7 +75,7 @@ internal class FirDefaultSetterValueParameter(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
status.accept(visitor, data)
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
receiverParameter?.accept(visitor, data)
contextReceivers.forEach { it.accept(visitor, data) }
initializer?.accept(visitor, data)
delegate?.accept(visitor, data)
@@ -89,7 +90,7 @@ internal class FirDefaultSetterValueParameter(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
transformStatus(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformReceiverParameter(transformer, data)
transformInitializer(transformer, data)
transformDelegate(transformer, data)
transformGetter(transformer, data)
@@ -113,8 +114,8 @@ internal class FirDefaultSetterValueParameter(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
receiverParameter = receiverParameter?.transform(transformer, data)
return this
}
@@ -164,8 +165,8 @@ internal class FirDefaultSetterValueParameter(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
receiverTypeRef = newReceiverTypeRef
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
receiverParameter = newReceiverParameter
}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
@@ -53,7 +54,7 @@ internal class FirEnumEntryImpl(
override val annotations: MutableList<FirAnnotation>,
override val symbol: FirEnumEntrySymbol,
) : FirEnumEntry() {
override val receiverTypeRef: FirTypeRef? get() = null
override val receiverParameter: FirReceiverParameter? get() = null
override val delegate: FirExpression? get() = null
override val isVar: Boolean get() = false
override val isVal: Boolean get() = true
@@ -99,7 +100,7 @@ internal class FirEnumEntryImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
return this
}
@@ -144,7 +145,7 @@ internal class FirEnumEntryImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
deprecationsProvider = newDeprecationsProvider
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -53,7 +54,7 @@ internal class FirErrorFunctionImpl(
) : FirErrorFunction() {
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic, false)
override val receiverTypeRef: FirTypeRef? get() = null
override val receiverParameter: FirReceiverParameter? get() = null
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val body: FirBlock? get() = null
override val typeParameters: List<FirTypeParameter> get() = emptyList()
@@ -96,7 +97,7 @@ internal class FirErrorFunctionImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
return this
}
@@ -121,7 +122,7 @@ internal class FirErrorFunctionImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
deprecationsProvider = newDeprecationsProvider
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirErrorProperty
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
@@ -56,7 +57,7 @@ internal class FirErrorPropertyImpl(
override val typeParameters: List<FirTypeParameterRef> get() = emptyList()
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic, false)
override val receiverTypeRef: FirTypeRef? get() = null
override val receiverParameter: FirReceiverParameter? get() = null
override val initializer: FirExpression? get() = null
override val delegate: FirExpression? get() = null
override val isVar: Boolean get() = false
@@ -98,7 +99,7 @@ internal class FirErrorPropertyImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
return this
}
@@ -142,7 +143,7 @@ internal class FirErrorPropertyImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
deprecationsProvider = newDeprecationsProvider
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
@@ -56,7 +57,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
override val annotations: MutableList<FirAnnotation>,
override val symbol: FirFieldSymbol,
) : FirField() {
override val receiverTypeRef: FirTypeRef? get() = null
override val receiverParameter: FirReceiverParameter? get() = null
override val delegate: FirExpression? get() = null
override val isVal: Boolean get() = !isVar
override val getter: FirPropertyAccessor? get() = null
@@ -103,7 +104,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFieldImpl {
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirFieldImpl {
return this
}
@@ -149,7 +150,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
deprecationsProvider = newDeprecationsProvider
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -44,7 +45,7 @@ class FirPrimaryConstructor @FirImplementationDetail constructor(
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var receiverParameter: FirReceiverParameter?,
override var deprecationsProvider: DeprecationsProvider,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeSimpleKotlinType?,
@@ -66,7 +67,7 @@ class FirPrimaryConstructor @FirImplementationDetail constructor(
typeParameters.forEach { it.accept(visitor, data) }
status.accept(visitor, data)
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
receiverParameter?.accept(visitor, data)
contextReceivers.forEach { it.accept(visitor, data) }
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
@@ -79,7 +80,7 @@ class FirPrimaryConstructor @FirImplementationDetail constructor(
transformTypeParameters(transformer, data)
transformStatus(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformReceiverParameter(transformer, data)
contextReceivers.transformInplace(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
@@ -104,8 +105,8 @@ class FirPrimaryConstructor @FirImplementationDetail constructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
receiverParameter = receiverParameter?.transform(transformer, data)
return this
}
@@ -137,8 +138,8 @@ class FirPrimaryConstructor @FirImplementationDetail constructor(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
receiverTypeRef = newReceiverTypeRef
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
receiverParameter = newReceiverParameter
}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -58,7 +59,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
override val annotations: MutableList<FirAnnotation>,
override val typeParameters: MutableList<FirTypeParameter>,
) : FirPropertyAccessor() {
override val receiverTypeRef: FirTypeRef? get() = null
override val receiverParameter: FirReceiverParameter? get() = null
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val isSetter: Boolean get() = !isGetter
@@ -101,7 +102,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
return this
}
@@ -138,7 +139,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
deprecationsProvider = newDeprecationsProvider
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirPropertyBodyResolveState
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
@@ -46,7 +47,7 @@ internal class FirPropertyImpl(
override val attributes: FirDeclarationAttributes,
override var status: FirDeclarationStatus,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var receiverParameter: FirReceiverParameter?,
override var deprecationsProvider: DeprecationsProvider,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeSimpleKotlinType?,
@@ -76,7 +77,7 @@ internal class FirPropertyImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
status.accept(visitor, data)
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
receiverParameter?.accept(visitor, data)
initializer?.accept(visitor, data)
delegate?.accept(visitor, data)
getter?.accept(visitor, data)
@@ -91,7 +92,7 @@ internal class FirPropertyImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
transformStatus(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformReceiverParameter(transformer, data)
transformInitializer(transformer, data)
transformDelegate(transformer, data)
transformGetter(transformer, data)
@@ -113,8 +114,8 @@ internal class FirPropertyImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
receiverParameter = receiverParameter?.transform(transformer, data)
return this
}
@@ -172,8 +173,8 @@ internal class FirPropertyImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
receiverTypeRef = newReceiverTypeRef
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
receiverParameter = newReceiverParameter
}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
@@ -0,0 +1,46 @@
/*
* Copyright 2010-2022 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.
*/
@file:Suppress("DuplicatedCode")
package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
internal class FirReceiverParameterImpl(
override val source: KtSourceElement?,
override var type: FirTypeRef,
override val annotations: MutableList<FirAnnotation>,
) : FirReceiverParameter() {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
type.accept(visitor, data)
annotations.forEach { it.accept(visitor, data) }
}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirReceiverParameterImpl {
transformType(transformer, data)
transformAnnotations(transformer, data)
return this
}
override fun <D> transformType(transformer: FirTransformer<D>, data: D): FirReceiverParameterImpl {
type = type.transform(transformer, data)
return this
}
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirReceiverParameterImpl {
annotations.transformInplace(transformer, data)
return this
}
}
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -43,7 +44,7 @@ internal class FirSimpleFunctionImpl(
override val attributes: FirDeclarationAttributes,
override var status: FirDeclarationStatus,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var receiverParameter: FirReceiverParameter?,
override var deprecationsProvider: DeprecationsProvider,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeSimpleKotlinType?,
@@ -65,7 +66,7 @@ internal class FirSimpleFunctionImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
status.accept(visitor, data)
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
receiverParameter?.accept(visitor, data)
contextReceivers.forEach { it.accept(visitor, data) }
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
@@ -78,7 +79,7 @@ internal class FirSimpleFunctionImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
transformStatus(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformReceiverParameter(transformer, data)
contextReceivers.transformInplace(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
@@ -99,8 +100,8 @@ internal class FirSimpleFunctionImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
receiverParameter = receiverParameter?.transform(transformer, data)
return this
}
@@ -137,8 +138,8 @@ internal class FirSimpleFunctionImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
receiverTypeRef = newReceiverTypeRef
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
receiverParameter = newReceiverParameter
}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -58,7 +59,7 @@ internal class FirValueParameterImpl(
) : FirValueParameter() {
override val typeParameters: List<FirTypeParameterRef> get() = emptyList()
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
override val receiverTypeRef: FirTypeRef? get() = null
override val receiverParameter: FirReceiverParameter? get() = null
override val initializer: FirExpression? get() = null
override val delegate: FirExpression? get() = null
override val isVar: Boolean get() = false
@@ -103,7 +104,7 @@ internal class FirValueParameterImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
return this
}
@@ -149,7 +150,7 @@ internal class FirValueParameterImpl(
returnTypeRef = newReturnTypeRef
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {}
override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider) {
deprecationsProvider = newDeprecationsProvider
@@ -62,3 +62,17 @@ inline fun buildAnnotation(init: FirAnnotationBuilder.() -> Unit): FirAnnotation
}
return FirAnnotationBuilder().apply(init).build()
}
@OptIn(ExperimentalContracts::class)
inline fun buildAnnotationCopy(original: FirAnnotation, init: FirAnnotationBuilder.() -> Unit): FirAnnotation {
contract {
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
}
val copyBuilder = FirAnnotationBuilder()
copyBuilder.source = original.source
copyBuilder.useSiteTarget = original.useSiteTarget
copyBuilder.annotationTypeRef = original.annotationTypeRef
copyBuilder.argumentMapping = original.argumentMapping
copyBuilder.typeArguments.addAll(original.typeArguments)
return copyBuilder.apply(init).build()
}
@@ -73,3 +73,19 @@ inline fun buildAnnotationCall(init: FirAnnotationCallBuilder.() -> Unit): FirAn
}
return FirAnnotationCallBuilder().apply(init).build()
}
@OptIn(ExperimentalContracts::class)
inline fun buildAnnotationCallCopy(original: FirAnnotationCall, init: FirAnnotationCallBuilder.() -> Unit): FirAnnotationCall {
contract {
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
}
val copyBuilder = FirAnnotationCallBuilder()
copyBuilder.source = original.source
copyBuilder.useSiteTarget = original.useSiteTarget
copyBuilder.annotationTypeRef = original.annotationTypeRef
copyBuilder.typeArguments.addAll(original.typeArguments)
copyBuilder.argumentList = original.argumentList
copyBuilder.calleeReference = original.calleeReference
copyBuilder.argumentMapping = original.argumentMapping
return copyBuilder.apply(init).build()
}
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
@@ -161,6 +162,8 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitMemberDeclaration(callableDeclaration, data)
override fun visitReceiverParameter(receiverParameter: FirReceiverParameter, data: D): R = visitAnnotationContainer(receiverParameter, data)
override fun visitEnumEntry(enumEntry: FirEnumEntry, data: D): R = visitVariable(enumEntry, data)
override fun visitFile(file: FirFile, data: D): R = visitDeclaration(file, data)
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
@@ -161,6 +162,8 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) = visitMemberDeclaration(callableDeclaration)
override fun visitReceiverParameter(receiverParameter: FirReceiverParameter) = visitAnnotationContainer(receiverParameter)
override fun visitEnumEntry(enumEntry: FirEnumEntry) = visitVariable(enumEntry)
override fun visitFile(file: FirFile) = visitDeclaration(file)
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
@@ -238,6 +239,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformElement(valueParameter, data)
}
open fun transformReceiverParameter(receiverParameter: FirReceiverParameter, data: D): FirReceiverParameter {
return transformElement(receiverParameter, data)
}
open fun transformProperty(property: FirProperty, data: D): FirStatement {
return transformElement(property, data)
}
@@ -778,6 +783,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformValueParameter(valueParameter, data)
}
final override fun visitReceiverParameter(receiverParameter: FirReceiverParameter, data: D): FirReceiverParameter {
return transformReceiverParameter(receiverParameter, data)
}
final override fun visitProperty(property: FirProperty, data: D): FirStatement {
return transformProperty(property, data)
}
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
@@ -193,6 +194,8 @@ abstract class FirVisitor<out R, in D> {
open fun visitValueParameter(valueParameter: FirValueParameter, data: D): R = visitElement(valueParameter, data)
open fun visitReceiverParameter(receiverParameter: FirReceiverParameter, data: D): R = visitElement(receiverParameter, data)
open fun visitProperty(property: FirProperty, data: D): R = visitElement(property, data)
open fun visitField(field: FirField, data: D): R = visitElement(field, data)
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
@@ -237,6 +238,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(valueParameter)
}
open fun visitReceiverParameter(receiverParameter: FirReceiverParameter) {
visitElement(receiverParameter)
}
open fun visitProperty(property: FirProperty) {
visitElement(property)
}
@@ -777,6 +782,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitValueParameter(valueParameter)
}
final override fun visitReceiverParameter(receiverParameter: FirReceiverParameter, data: Nothing?) {
visitReceiverParameter(receiverParameter)
}
final override fun visitProperty(property: FirProperty, data: Nothing?) {
visitProperty(property)
}
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -18,14 +18,16 @@ object FirCallableDeclarationComparator : Comparator<FirCallableDeclaration> {
}
// Compare the receiver type if any.
if (a.receiverTypeRef != null || b.receiverTypeRef != null) {
val aHasReceiverType = if (a.receiverTypeRef != null) 1 else 0
val bHasReceiverType = if (b.receiverTypeRef != null) 1 else 0
val aReceiver = a.receiverParameter
val bReceiver = b.receiverParameter
if (aReceiver != null || bReceiver != null) {
val aHasReceiverType = if (aReceiver != null) 1 else 0
val bHasReceiverType = if (bReceiver != null) 1 else 0
val receiverTypePresenceDiff = aHasReceiverType - bHasReceiverType
if (receiverTypePresenceDiff != 0) {
return receiverTypePresenceDiff
}
assert(a.receiverTypeRef != null && b.receiverTypeRef != null)
assert(aReceiver != null && bReceiver != null)
}
// Compare the return type.
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -30,7 +30,7 @@ class FirDefaultPropertyBackingField(
origin = FirDeclarationOrigin.Synthetic,
attributes = FirDeclarationAttributes(),
returnTypeRef = returnTypeRef,
receiverTypeRef = null,
receiverParameter = null,
deprecationsProvider = UnresolvedDeprecationProvider,
containerSource = null,
dispatchReceiverType = null,
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -60,7 +60,7 @@ class FirSyntheticProperty(
override val isLocal: Boolean
get() = false
override val receiverTypeRef: FirTypeRef?
override val receiverParameter: FirReceiverParameter?
get() = null
override val isVal: Boolean
@@ -91,55 +91,55 @@ class FirSyntheticProperty(
}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
notSupported()
}
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformGetter(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun <D> transformContextReceivers(transformer: FirTransformer<D>, data: D): FirProperty {
throw AssertionError("Transformation of synthetic property isn't supported")
notSupported()
}
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) {
@@ -150,7 +150,7 @@ class FirSyntheticProperty(
notSupported()
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
notSupported()
}
@@ -48,7 +48,7 @@ class FirSyntheticPropertyAccessor(
override val dispatchReceiverType: ConeSimpleKotlinType?
get() = delegate.dispatchReceiverType
override val receiverTypeRef: FirTypeRef?
override val receiverParameter: FirReceiverParameter?
get() = null
override val deprecationsProvider: DeprecationsProvider
@@ -103,7 +103,7 @@ class FirSyntheticPropertyAccessor(
throw AssertionError("Transformation of synthetic property accessor isn't supported")
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
override fun <D> transformReceiverParameter(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
throw AssertionError("Transformation of synthetic property accessor isn't supported")
}
@@ -139,7 +139,7 @@ class FirSyntheticPropertyAccessor(
throw AssertionError("Mutation of synthetic property accessor isn't supported")
}
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
override fun replaceReceiverParameter(newReceiverParameter: FirReceiverParameter?) {
throw AssertionError("Mutation of synthetic property accessor isn't supported")
}
@@ -179,10 +179,10 @@ class FirRenderer(
renderContexts(callableDeclaration.contextReceivers)
annotationRenderer?.render(callableDeclaration)
visitMemberDeclaration(callableDeclaration)
val receiverType = callableDeclaration.receiverTypeRef
val receiverParameter = callableDeclaration.receiverParameter
print(" ")
if (receiverType != null) {
receiverType.accept(this)
if (receiverParameter != null) {
receiverParameter.type.accept(this)
print(".")
}
when (callableDeclaration) {
@@ -299,6 +299,12 @@ class FirRenderer(
}
}
override fun visitReceiverParameter(receiverParameter: FirReceiverParameter) {
print("<explicit receiver parameter>: ")
annotationRenderer?.render(receiverParameter)
receiverParameter.type.accept(this)
}
override fun visitSimpleFunction(simpleFunction: FirSimpleFunction) {
visitCallableDeclaration(simpleFunction)
bodyRenderer?.render(simpleFunction)
@@ -343,9 +349,9 @@ class FirRenderer(
annotationRenderer?.render(anonymousFunction)
declarationRenderer.render(anonymousFunction)
print(" ")
val receiverType = anonymousFunction.receiverTypeRef
if (receiverType != null) {
receiverType.accept(this)
val receiverParameter = anonymousFunction.receiverParameter
if (receiverParameter != null) {
receiverParameter.type.accept(this)
print(".")
}
print("<anonymous>")
@@ -28,8 +28,8 @@ abstract class FirCallableSymbol<D : FirCallableDeclaration> : FirBasedSymbol<D>
val resolvedReceiverTypeRef: FirResolvedTypeRef?
get() {
ensureType(fir.receiverTypeRef)
return fir.receiverTypeRef as FirResolvedTypeRef?
ensureType(fir.receiverParameter?.type)
return fir.receiverParameter?.type as FirResolvedTypeRef?
}
val resolvedContextReceivers: List<FirContextReceiver>
@@ -78,7 +78,7 @@ val FirCallableSymbol<*>.isStatic: Boolean get() = (fir as? FirMemberDeclaration
val FirCallableSymbol<*>.isExtension: Boolean
get() = when (fir) {
is FirFunction -> fir.receiverTypeRef != null
is FirProperty -> fir.receiverTypeRef != null
is FirFunction -> fir.receiverParameter != null
is FirProperty -> fir.receiverParameter != null
is FirVariable -> false
}
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -60,7 +60,13 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
val functionBuilder by builder {
parents += declarationBuilder
parents += annotationContainerBuilder
fields from function without listOf("symbol", "resolvePhase", "controlFlowGraphReference", "receiverTypeRef", "typeParameters")
fields from function without listOf(
"symbol",
"resolvePhase",
"controlFlowGraphReference",
"receiverParameter",
"typeParameters",
)
}
val loopJumpBuilder by builder {
@@ -112,6 +118,14 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
withCopy()
}
builder(annotation) {
withCopy()
}
builder(receiverParameter) {
withCopy()
}
builder(annotationCall) {
parents += callBuilder
default("argumentList") {
@@ -120,6 +134,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
default("argumentMapping", "FirEmptyAnnotationArgumentMapping")
default("annotationTypeRef", "FirImplicitTypeRefImpl(null)")
useTypes(emptyArgumentListType, emptyAnnotationArgumentMappingType, implicitTypeRefType)
withCopy()
}
builder(errorAnnotationCall) {
@@ -303,7 +318,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
}
builder(valueParameter, type = "FirDefaultSetterValueParameter") {
defaultNull("defaultValue", "initializer", "delegate", "receiverTypeRef", "getter", "setter")
defaultNull("defaultValue", "initializer", "delegate", "receiverParameter", "getter", "setter")
defaultFalse("isCrossinline", "isNoinline", "isVararg", "isVar")
defaultTrue("isVal")
}
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -53,8 +53,6 @@ object FieldSets {
val typeRefField = field(typeRef, withReplace = true)
fun receiverTypeRef(nullable: Boolean = false) = field("receiverTypeRef", typeRef, nullable)
val valueParameters by lazy { fieldList(valueParameter) }
val typeParameters by lazy { fieldList("typeParameters", typeParameter) }
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -40,6 +40,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val variable by sealedElement(Declaration, callableDeclaration, statement)
val valueParameter by element(Declaration, variable, controlFlowGraphOwner)
val receiverParameter by element(Declaration, annotationContainer)
val property by element(Declaration, variable, typeParametersOwner, controlFlowGraphOwner)
val field by element(Declaration, variable, controlFlowGraphOwner)
val enumEntry by element(Declaration, variable)
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -219,7 +219,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
defaultFalse("isVar", withGetter = true)
defaultNull(
"receiverTypeRef",
"receiverParameter",
"initializer",
"delegate",
"getter", "setter",
@@ -236,13 +236,13 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
}
publicImplementation()
defaultNull("receiverTypeRef", "delegate", "getter", "setter", withGetter = true)
defaultNull("receiverParameter", "delegate", "getter", "setter", withGetter = true)
}
impl(enumEntry) {
defaultTrue("isVal", withGetter = true)
defaultFalse("isVar", withGetter = true)
defaultNull("receiverTypeRef", "delegate", "getter", "setter", withGetter = true)
defaultNull("receiverParameter", "delegate", "getter", "setter", withGetter = true)
}
impl(namedArgumentExpression) {
@@ -331,7 +331,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
noImpl(anonymousFunctionExpression)
impl(propertyAccessor) {
default("receiverTypeRef") {
default("receiverParameter") {
value = "null"
withGetter = true
}
@@ -434,7 +434,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
}
impl(errorFunction) {
defaultNull("receiverTypeRef", "body", withGetter = true)
defaultNull("receiverParameter", "body", withGetter = true)
default("returnTypeRef", "FirErrorTypeRefImpl(null, null, diagnostic, false)")
useTypes(errorTypeRefImplType)
}
@@ -469,7 +469,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
impl(valueParameter) {
defaultTrue("isVal", withGetter = true)
defaultFalse("isVar", withGetter = true)
defaultNull("getter", "setter", "initializer", "delegate", "receiverTypeRef", withGetter = true)
defaultNull("getter", "setter", "initializer", "delegate", "receiverParameter", withGetter = true)
}
impl(valueParameter, "FirDefaultSetterValueParameter") {
@@ -88,7 +88,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
callableDeclaration.configure {
+field("returnTypeRef", typeRef, withReplace = true).withTransform()
+field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform()
+field("receiverParameter", receiverParameter, nullable = true, withReplace = true).withTransform()
+field("deprecationsProvider", deprecationsProviderType).withReplace().apply { isMutable = true }
+symbol("FirCallableSymbol", "out FirCallableDeclaration")
@@ -393,6 +393,11 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
generateBooleanFields("crossinline", "noinline", "vararg")
}
receiverParameter.configure {
+field("type", typeRef).withTransform()
+annotations
}
variable.configure {
+name
+symbol("FirVariableSymbol", "out FirVariable")