[FIR] Unity FirCallableDeclaration and FirCallableMemberDeclaration

After removal of all diamonds in FirDeclaration hierarchy
  FirCallableMemberDeclaration was only one inheritor of
  FirCallableDeclaration, so there is no need to keep them both
This commit is contained in:
Dmitriy Novozhilov
2021-07-12 11:11:29 +03:00
committed by teamcityserver
parent adc45fd3dd
commit 51fc2e453f
103 changed files with 403 additions and 516 deletions
@@ -32,9 +32,9 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
abstract override val attributes: FirDeclarationAttributes
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
@@ -78,10 +78,10 @@ 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> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
@@ -10,7 +10,9 @@ import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
import org.jetbrains.kotlin.fir.visitors.*
/*
@@ -18,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
sealed class FirCallableDeclaration : FirTypedDeclaration() {
sealed class FirCallableDeclaration : FirTypedDeclaration(), FirMemberDeclaration {
abstract override val source: FirSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
@@ -26,9 +28,13 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
abstract override val attributes: FirDeclarationAttributes
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract val receiverTypeRef: FirTypeRef?
abstract val deprecation: DeprecationsPerUseSite?
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
abstract val containerSource: DeserializedContainerSource?
abstract val dispatchReceiverType: ConeKotlinType?
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableDeclaration(this, data)
@@ -48,5 +54,9 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
}
@@ -1,62 +0,0 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.declarations
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberDeclaration {
abstract override val source: FirSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract val containerSource: DeserializedContainerSource?
abstract val dispatchReceiverType: ConeKotlinType?
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableMemberDeclaration(this, data)
@Suppress("UNCHECKED_CAST")
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
transformer.transformCallableMemberDeclaration(this, data) as E
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
}
@@ -30,10 +30,10 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
@@ -66,12 +66,12 @@ 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> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirConstructor
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirConstructor
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructor
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirConstructor
@@ -29,10 +29,10 @@ abstract class FirEnumEntry : FirVariable() {
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val name: Name
@@ -63,12 +63,12 @@ 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> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntry
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirEnumEntry
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirEnumEntry
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirEnumEntry
@@ -32,9 +32,9 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
abstract override val attributes: FirDeclarationAttributes
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
@@ -68,10 +68,10 @@ 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> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirErrorFunction
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirErrorFunction
@@ -31,10 +31,10 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val name: Name
@@ -66,12 +66,12 @@ 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> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorProperty
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorProperty
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirErrorProperty
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirErrorProperty
@@ -29,10 +29,10 @@ abstract class FirField : FirVariable() {
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val name: Name
@@ -63,12 +63,12 @@ abstract class FirField : FirVariable() {
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> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirField
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirField
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirField
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirField
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirField
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, FirControlFlowGraphOwner, FirStatement {
sealed class FirFunction : FirCallableDeclaration(), FirTargetElement, FirControlFlowGraphOwner, FirStatement {
abstract override val source: FirSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
@@ -32,10 +32,10 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir
abstract override val attributes: FirDeclarationAttributes
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
@@ -67,12 +67,12 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir
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> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFunction
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFunction
abstract fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirFunction
abstract fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirFunction
@@ -32,9 +32,9 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val name: Name
@@ -75,10 +75,10 @@ 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> transformStatus(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirProperty
@@ -30,9 +30,9 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
@@ -69,10 +69,10 @@ 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> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
@@ -31,9 +31,9 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val status: FirDeclarationStatus
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
@@ -69,10 +69,10 @@ 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> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunction
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirSimpleFunction
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirSimpleFunction
@@ -30,10 +30,10 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract override val name: Name
@@ -71,12 +71,12 @@ 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> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirValueParameter
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirValueParameter
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirValueParameter
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirValueParameter
@@ -23,17 +23,17 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement {
sealed class FirVariable : FirCallableDeclaration(), FirStatement {
abstract override val source: FirSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val receiverTypeRef: FirTypeRef?
abstract override val deprecation: DeprecationsPerUseSite?
abstract override val containerSource: DeserializedContainerSource?
abstract override val dispatchReceiverType: ConeKotlinType?
abstract val name: Name
@@ -64,12 +64,12 @@ sealed class FirVariable : FirCallableMemberDeclaration(), 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> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirVariable
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirVariable
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
abstract fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirVariable
abstract fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirVariable
@@ -41,14 +41,14 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
abstract override var attributes: FirDeclarationAttributes
abstract override val annotations: MutableList<FirAnnotationCall>
abstract override var returnTypeRef: FirTypeRef
abstract override var deprecation: DeprecationsPerUseSite?
abstract override var status: FirDeclarationStatus
abstract override var deprecation: DeprecationsPerUseSite?
abstract override var containerSource: DeserializedContainerSource?
abstract override var dispatchReceiverType: ConeKotlinType?
abstract override val valueParameters: MutableList<FirValueParameter>
abstract override var body: FirBlock?
abstract var receiverTypeRef: FirTypeRef?
abstract val typeParameters: MutableList<FirTypeParameterRef>
abstract var receiverTypeRef: FirTypeRef?
abstract var controlFlowGraphReference: FirControlFlowGraphReference?
abstract var symbol: FirConstructorSymbol
abstract var delegatedConstructor: FirDelegatedConstructorCall?
@@ -43,10 +43,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var status: FirDeclarationStatus
override var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeKotlinType? = null
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -63,10 +63,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
origin,
attributes,
returnTypeRef,
receiverTypeRef,
deprecation,
typeParameters,
status,
receiverTypeRef,
deprecation,
containerSource,
dispatchReceiverType,
valueParameters,
@@ -106,10 +106,10 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.typeParameters.addAll(original.typeParameters)
copyBuilder.status = original.status
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
copyBuilder.valueParameters.addAll(original.valueParameters)
@@ -41,9 +41,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var deprecation: DeprecationsPerUseSite? = null
val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
lateinit var status: FirDeclarationStatus
var deprecation: DeprecationsPerUseSite? = null
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeKotlinType? = null
lateinit var name: Name
@@ -59,9 +59,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
origin,
attributes,
returnTypeRef,
deprecation,
typeParameters,
status,
deprecation,
containerSource,
dispatchReceiverType,
name,
@@ -43,9 +43,9 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
open lateinit var returnTypeRef: FirTypeRef
open var deprecation: DeprecationsPerUseSite? = null
open val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
open lateinit var status: FirDeclarationStatus
open var deprecation: DeprecationsPerUseSite? = null
open var containerSource: DeserializedContainerSource? = null
open var dispatchReceiverType: ConeKotlinType? = null
open lateinit var name: Name
@@ -63,9 +63,9 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
origin,
attributes,
returnTypeRef,
deprecation,
typeParameters,
status,
deprecation,
containerSource,
dispatchReceiverType,
name,
@@ -38,8 +38,8 @@ interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuil
abstract override var attributes: FirDeclarationAttributes
abstract override val annotations: MutableList<FirAnnotationCall>
abstract var returnTypeRef: FirTypeRef
abstract var deprecation: DeprecationsPerUseSite?
abstract var status: FirDeclarationStatus
abstract var deprecation: DeprecationsPerUseSite?
abstract var containerSource: DeserializedContainerSource?
abstract var dispatchReceiverType: ConeKotlinType?
abstract val valueParameters: MutableList<FirValueParameter>
@@ -43,10 +43,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var status: FirDeclarationStatus
override var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeKotlinType? = null
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -63,10 +63,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
origin,
attributes,
returnTypeRef,
receiverTypeRef,
deprecation,
typeParameters,
status,
receiverTypeRef,
deprecation,
containerSource,
dispatchReceiverType,
valueParameters,
@@ -46,8 +46,8 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var deprecation: DeprecationsPerUseSite? = null
override lateinit var status: FirDeclarationStatus
override var deprecation: DeprecationsPerUseSite? = null
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeKotlinType? = null
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -67,8 +67,8 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
origin,
attributes,
returnTypeRef,
deprecation,
status,
deprecation,
containerSource,
dispatchReceiverType,
valueParameters,
@@ -103,8 +103,8 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.status = original.status
copyBuilder.deprecation = original.deprecation
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
copyBuilder.valueParameters.addAll(original.valueParameters)
@@ -46,9 +46,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
lateinit var status: FirDeclarationStatus
var receiverTypeRef: FirTypeRef? = null
var deprecation: DeprecationsPerUseSite? = null
lateinit var status: FirDeclarationStatus
var containerSource: DeserializedContainerSource? = null
var dispatchReceiverType: ConeKotlinType? = null
lateinit var name: Name
@@ -72,9 +72,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
origin,
attributes,
returnTypeRef,
status,
receiverTypeRef,
deprecation,
status,
containerSource,
dispatchReceiverType,
name,
@@ -114,9 +114,9 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.status = original.status
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.status = original.status
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
copyBuilder.name = original.name
@@ -46,9 +46,9 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override lateinit var status: FirDeclarationStatus
open var receiverTypeRef: FirTypeRef? = null
override var deprecation: DeprecationsPerUseSite? = null
override lateinit var status: FirDeclarationStatus
override var containerSource: DeserializedContainerSource? = null
override var dispatchReceiverType: ConeKotlinType? = null
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -67,9 +67,9 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
origin,
attributes,
returnTypeRef,
status,
receiverTypeRef,
deprecation,
status,
containerSource,
dispatchReceiverType,
valueParameters,
@@ -104,9 +104,9 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.status = original.status
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.deprecation = original.deprecation
copyBuilder.status = original.status
copyBuilder.containerSource = original.containerSource
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
copyBuilder.valueParameters.addAll(original.valueParameters)
@@ -65,8 +65,8 @@ internal class FirAnonymousFunctionImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
annotations.forEach { it.accept(visitor, data) }
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
status.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
body?.accept(visitor, data)
@@ -78,8 +78,8 @@ internal class FirAnonymousFunctionImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
transformAnnotations(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformStatus(transformer, data)
transformReceiverTypeRef(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
transformBody(transformer, data)
@@ -99,13 +99,13 @@ internal class FirAnonymousFunctionImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
status = status.transform(transformer, data)
return this
}
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
status = status.transform(transformer, data)
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
@@ -37,10 +37,10 @@ internal class FirConstructorImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val valueParameters: MutableList<FirValueParameter>,
@@ -58,9 +58,9 @@ internal class FirConstructorImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
typeParameters.forEach { it.accept(visitor, data) }
status.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
annotations.forEach { it.accept(visitor, data) }
@@ -70,9 +70,9 @@ internal class FirConstructorImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformTypeParameters(transformer, data)
transformStatus(transformer, data)
transformReceiverTypeRef(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
transformAnnotations(transformer, data)
@@ -86,11 +86,6 @@ internal class FirConstructorImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
typeParameters.transformInplace(transformer, data)
return this
@@ -101,6 +96,11 @@ internal class FirConstructorImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
valueParameters.transformInplace(transformer, data)
return this
@@ -66,8 +66,8 @@ internal class FirDefaultSetterValueParameter(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
status.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
initializer?.accept(visitor, data)
delegate?.accept(visitor, data)
getter?.accept(visitor, data)
@@ -79,8 +79,8 @@ internal class FirDefaultSetterValueParameter(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformStatus(transformer, data)
transformReceiverTypeRef(transformer, data)
transformInitializer(transformer, data)
transformDelegate(transformer, data)
transformGetter(transformer, data)
@@ -94,11 +94,6 @@ internal class FirDefaultSetterValueParameter(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
return this
}
@@ -108,6 +103,11 @@ internal class FirDefaultSetterValueParameter(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
initializer = initializer?.transform(transformer, data)
return this
@@ -36,9 +36,9 @@ internal class FirEnumEntryImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val name: Name,
@@ -79,10 +79,6 @@ internal class FirEnumEntryImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
typeParameters.transformInplace(transformer, data)
return this
@@ -93,6 +89,10 @@ internal class FirEnumEntryImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
return this
}
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
initializer = initializer?.transform(transformer, data)
return this
@@ -47,8 +47,8 @@ internal class FirErrorFunctionImpl(
override val symbol: FirErrorFunctionSymbol,
) : FirErrorFunction() {
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic)
override val receiverTypeRef: FirTypeRef? get() = null
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
override val receiverTypeRef: FirTypeRef? get() = null
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val body: FirBlock? get() = null
override val typeParameters: List<FirTypeParameter> get() = emptyList()
@@ -84,12 +84,12 @@ internal class FirErrorFunctionImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
status = status.transform(transformer, data)
return this
}
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
status = status.transform(transformer, data)
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
return this
}
@@ -47,9 +47,9 @@ internal class FirErrorPropertyImpl(
override val symbol: FirErrorPropertySymbol,
) : FirErrorProperty() {
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic)
override val receiverTypeRef: FirTypeRef? get() = null
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 initializer: FirExpression? get() = null
override val delegate: FirExpression? get() = null
override val isVar: Boolean get() = false
@@ -79,10 +79,6 @@ internal class FirErrorPropertyImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
return this
}
@@ -92,6 +88,10 @@ internal class FirErrorPropertyImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
return this
}
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
return this
}
@@ -37,9 +37,9 @@ class FirFieldImpl @FirImplementationDetail constructor(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val name: Name,
@@ -80,10 +80,6 @@ class FirFieldImpl @FirImplementationDetail constructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFieldImpl {
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFieldImpl {
typeParameters.transformInplace(transformer, data)
return this
@@ -94,6 +90,10 @@ class FirFieldImpl @FirImplementationDetail constructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFieldImpl {
return this
}
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirFieldImpl {
initializer = initializer?.transform(transformer, data)
return this
@@ -37,10 +37,10 @@ internal class FirPrimaryConstructor(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val valueParameters: MutableList<FirValueParameter>,
@@ -58,9 +58,9 @@ internal class FirPrimaryConstructor(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
typeParameters.forEach { it.accept(visitor, data) }
status.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
annotations.forEach { it.accept(visitor, data) }
@@ -70,9 +70,9 @@ internal class FirPrimaryConstructor(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformTypeParameters(transformer, data)
transformStatus(transformer, data)
transformReceiverTypeRef(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
transformAnnotations(transformer, data)
@@ -86,11 +86,6 @@ internal class FirPrimaryConstructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
typeParameters.transformInplace(transformer, data)
return this
@@ -101,6 +96,11 @@ internal class FirPrimaryConstructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
valueParameters.transformInplace(transformer, data)
return this
@@ -39,8 +39,8 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var deprecation: DeprecationsPerUseSite?,
override var status: FirDeclarationStatus,
override var deprecation: DeprecationsPerUseSite?,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val valueParameters: MutableList<FirValueParameter>,
@@ -87,12 +87,12 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
status = status.transform(transformer, data)
return this
}
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
status = status.transform(transformer, data)
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
return this
}
@@ -39,9 +39,9 @@ internal class FirPropertyImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var status: FirDeclarationStatus,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val name: Name,
@@ -69,8 +69,8 @@ internal class FirPropertyImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
status.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
initializer?.accept(visitor, data)
delegate?.accept(visitor, data)
getter?.accept(visitor, data)
@@ -82,8 +82,8 @@ internal class FirPropertyImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformStatus(transformer, data)
transformReceiverTypeRef(transformer, data)
transformInitializer(transformer, data)
transformDelegate(transformer, data)
transformGetter(transformer, data)
@@ -98,13 +98,13 @@ internal class FirPropertyImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
status = status.transform(transformer, data)
return this
}
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
status = status.transform(transformer, data)
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
@@ -38,9 +38,9 @@ internal class FirSimpleFunctionImpl(
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var status: FirDeclarationStatus,
override var receiverTypeRef: FirTypeRef?,
override var deprecation: DeprecationsPerUseSite?,
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
override val dispatchReceiverType: ConeKotlinType?,
override val valueParameters: MutableList<FirValueParameter>,
@@ -59,8 +59,8 @@ internal class FirSimpleFunctionImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
status.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
controlFlowGraphReference?.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
body?.accept(visitor, data)
@@ -71,8 +71,8 @@ internal class FirSimpleFunctionImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformStatus(transformer, data)
transformReceiverTypeRef(transformer, data)
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
transformValueParameters(transformer, data)
transformBody(transformer, data)
@@ -87,13 +87,13 @@ internal class FirSimpleFunctionImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
status = status.transform(transformer, data)
return this
}
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
status = status.transform(transformer, data)
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
return this
}
@@ -49,9 +49,9 @@ internal class FirValueParameterImpl(
override val isNoinline: Boolean,
override val isVararg: Boolean,
) : FirValueParameter() {
override val receiverTypeRef: FirTypeRef? get() = null
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 initializer: FirExpression? get() = null
override val delegate: FirExpression? get() = null
override val isVar: Boolean get() = false
@@ -84,10 +84,6 @@ internal class FirValueParameterImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
return this
}
@@ -97,6 +93,10 @@ internal class FirValueParameterImpl(
return this
}
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
return this
}
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
return this
}
@@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
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.FirProperty
@@ -204,18 +203,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformElement(typedDeclaration, data)
}
open fun transformCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
return transformElement(callableDeclaration, data)
}
open fun transformTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
return transformElement(typeParameterRef, data)
}
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
return transformElement(typeParameter, data)
}
open fun transformTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): FirTypeParameterRefsOwner {
return transformElement(typeParameterRefsOwner, data)
}
@@ -228,8 +215,16 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformElement(memberDeclaration, data)
}
open fun transformCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration {
return transformElement(callableMemberDeclaration, data)
open fun transformCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
return transformElement(callableDeclaration, data)
}
open fun transformTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
return transformElement(typeParameterRef, data)
}
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
return transformElement(typeParameter, data)
}
open fun transformVariable(variable: FirVariable, data: D): FirStatement {
@@ -720,18 +715,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformTypedDeclaration(typedDeclaration, data)
}
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
return transformCallableDeclaration(callableDeclaration, data)
}
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
return transformTypeParameterRef(typeParameterRef, data)
}
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
return transformTypeParameter(typeParameter, data)
}
final override fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): FirTypeParameterRefsOwner {
return transformTypeParameterRefsOwner(typeParameterRefsOwner, data)
}
@@ -744,8 +727,16 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformMemberDeclaration(memberDeclaration, data)
}
final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration {
return transformCallableMemberDeclaration(callableMemberDeclaration, data)
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
return transformCallableDeclaration(callableDeclaration, data)
}
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
return transformTypeParameterRef(typeParameterRef, data)
}
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
return transformTypeParameter(typeParameter, data)
}
final override fun visitVariable(variable: FirVariable, data: D): FirStatement {
@@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
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.FirProperty
@@ -173,19 +172,17 @@ abstract class FirVisitor<out R, in D> {
open fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): R = visitElement(typedDeclaration, data)
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitElement(callableDeclaration, data)
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): R = visitElement(typeParameterRef, data)
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data)
open fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): R = visitElement(typeParameterRefsOwner, data)
open fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitElement(typeParametersOwner, data)
open fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration, data: D): R = visitElement(memberDeclaration, data)
open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): R = visitElement(callableMemberDeclaration, data)
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitElement(callableDeclaration, data)
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): R = visitElement(typeParameterRef, data)
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data)
open fun visitVariable(variable: FirVariable, data: D): R = visitElement(variable, data)
@@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
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.FirProperty
@@ -203,18 +202,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(typedDeclaration)
}
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
visitElement(callableDeclaration)
}
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef) {
visitElement(typeParameterRef)
}
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
visitElement(typeParameter)
}
open fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner) {
visitElement(typeParameterRefsOwner)
}
@@ -227,8 +214,16 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(memberDeclaration)
}
open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration) {
visitElement(callableMemberDeclaration)
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
visitElement(callableDeclaration)
}
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef) {
visitElement(typeParameterRef)
}
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
visitElement(typeParameter)
}
open fun visitVariable(variable: FirVariable) {
@@ -719,18 +714,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitTypedDeclaration(typedDeclaration)
}
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Nothing?) {
visitCallableDeclaration(callableDeclaration)
}
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: Nothing?) {
visitTypeParameterRef(typeParameterRef)
}
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
visitTypeParameter(typeParameter)
}
final override fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: Nothing?) {
visitTypeParameterRefsOwner(typeParameterRefsOwner)
}
@@ -743,8 +726,16 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitMemberDeclaration(memberDeclaration)
}
final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: Nothing?) {
visitCallableMemberDeclaration(callableMemberDeclaration)
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Nothing?) {
visitCallableDeclaration(callableDeclaration)
}
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: Nothing?) {
visitTypeParameterRef(typeParameterRef)
}
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
visitTypeParameter(typeParameter)
}
final override fun visitVariable(variable: FirVariable, data: Nothing?) {
@@ -16,15 +16,12 @@ import org.jetbrains.kotlin.fir.types.ConeIntersectionType
import org.jetbrains.kotlin.fir.types.ConeKotlinType
fun FirCallableSymbol<*>.dispatchReceiverTypeOrNull(): ConeKotlinType? =
(fir as? FirCallableMemberDeclaration)?.dispatchReceiverType
fir.dispatchReceiverType
fun FirCallableSymbol<*>.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? =
(fir as? FirCallableMemberDeclaration)?.dispatchReceiverClassOrNull()
fir.dispatchReceiverClassOrNull()
fun FirCallableDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? =
(this as? FirCallableMemberDeclaration)?.dispatchReceiverClassOrNull()
fun FirCallableMemberDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? {
fun FirCallableDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? {
if (dispatchReceiverType is ConeIntersectionType && isIntersectionOverride) return symbol.baseForIntersectionOverride!!.fir.dispatchReceiverClassOrNull()
return (dispatchReceiverType as? ConeClassLikeType)?.lookupTag
@@ -35,9 +32,6 @@ fun FirCallableDeclaration.containingClass(): ConeClassLikeLookupTag? {
return (containingClassAttr ?: dispatchReceiverClassOrNull())
}
fun FirCallableMemberDeclaration.containingClass(): ConeClassLikeLookupTag? {
return (containingClassAttr ?: dispatchReceiverClassOrNull())
}
fun FirRegularClass.containingClassForLocal(): ConeClassLikeLookupTag? =
if (isLocal) containingClassForLocalAttr else null
@@ -217,11 +217,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
callableDeclaration.annotations.renderAnnotations()
if (callableDeclaration is FirMemberDeclaration) {
visitMemberDeclaration(callableDeclaration)
} else {
visitTypedDeclaration(callableDeclaration)
}
visitMemberDeclaration(callableDeclaration)
val receiverType = callableDeclaration.receiverTypeRef
print(" ")
if (receiverType != null) {
@@ -275,7 +271,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
private fun FirMemberDeclaration.modalityAsString(): String {
return modality?.name?.toLowerCaseAsciiOnly() ?: run {
if (this is FirCallableMemberDeclaration && this.isOverride) {
if (this is FirCallableDeclaration && this.isOverride) {
"open?"
} else {
"final?"
@@ -1088,7 +1084,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference) {
print("R|")
val symbol = resolvedNamedReference.resolvedSymbol
val isSubstitutionOverride = (symbol.fir as? FirCallableMemberDeclaration)?.isSubstitutionOverride == true
val isSubstitutionOverride = (symbol.fir as? FirCallableDeclaration)?.isSubstitutionOverride == true
if (isSubstitutionOverride) {
print("SubstitutionOverride<")
@@ -5,13 +5,13 @@
package org.jetbrains.kotlin.fir.declarations.comparators
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirFunction
import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.types.FirTypeRefComparator
object FirCallableMemberDeclarationComparator : Comparator<FirCallableMemberDeclaration> {
override fun compare(a: FirCallableMemberDeclaration, b: FirCallableMemberDeclaration): Int {
object FirCallableDeclarationComparator : Comparator<FirCallableDeclaration> {
override fun compare(a: FirCallableDeclaration, b: FirCallableDeclaration): Int {
val typeAndNameDiff = FirMemberDeclarationComparator.TypeAndNameComparator.compare(a, b)
if (typeAndNameDiff != 0) {
return typeAndNameDiff
@@ -29,7 +29,7 @@ object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration> {
private val FirMemberDeclaration.name: Name
get() = when (this) {
is FirCallableMemberDeclaration ->
is FirCallableDeclaration ->
this.symbol.callableId.callableName
is FirClass ->
this.classId.shortClassName
@@ -55,8 +55,8 @@ object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration> {
}
override fun compare(a: FirMemberDeclaration, b: FirMemberDeclaration): Int {
if (a is FirCallableMemberDeclaration && b is FirCallableMemberDeclaration) {
return FirCallableMemberDeclarationComparator.compare(a, b)
if (a is FirCallableDeclaration && b is FirCallableDeclaration) {
return FirCallableDeclarationComparator.compare(a, b)
}
val typeAndNameDiff = TypeAndNameComparator.compare(a, b)
@@ -39,11 +39,11 @@ abstract class FirDefaultPropertyAccessor(
origin,
FirDeclarationAttributes(),
propertyTypeRef,
deprecation = null,
status = if (effectiveVisibility == null)
FirDeclarationStatusImpl(visibility, Modality.FINAL)
else
FirResolvedDeclarationStatusImpl(visibility, Modality.FINAL, effectiveVisibility),
deprecation = null,
containerSource = null,
dispatchReceiverType = null,
valueParameters,
@@ -37,7 +37,7 @@ var <T> T.danglingTypeConstraints: List<DanglingTypeConstraint>?
val FirMemberDeclaration.containerSource: SourceElement?
get() = when (this) {
is FirCallableMemberDeclaration -> containerSource
is FirCallableDeclaration -> containerSource
is FirRegularClass -> sourceElement
is FirTypeAlias -> sourceElement
}
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.fir.scopes
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.isIntersectionOverride
import org.jetbrains.kotlin.fir.originalForSubstitutionOverride
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
@@ -146,7 +146,7 @@ inline fun FirTypeScope.processDirectlyOverriddenProperties(
fun FirTypeScope.getDirectOverriddenMembers(
member: FirCallableSymbol<*>,
unwrapIntersectionAndSubstitutionOverride: Boolean = false,
): List<FirCallableSymbol<out FirCallableMemberDeclaration>> =
): List<FirCallableSymbol<out FirCallableDeclaration>> =
when (member) {
is FirNamedFunctionSymbol -> getDirectOverriddenFunctions(member, unwrapIntersectionAndSubstitutionOverride)
is FirPropertySymbol -> getDirectOverriddenProperties(member, unwrapIntersectionAndSubstitutionOverride)
@@ -30,15 +30,14 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val annotatedDeclaration = sealedElement("AnnotatedDeclaration", Declaration, declaration, annotationContainer)
val anonymousInitializer = element("AnonymousInitializer", Declaration, declaration, controlFlowGraphOwner)
val typedDeclaration = sealedElement("TypedDeclaration", Declaration, annotatedDeclaration)
val callableDeclaration = sealedElement("CallableDeclaration", Declaration, typedDeclaration)
val typeParameterRef = element("TypeParameterRef", Declaration)
val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration)
val typeParameterRefsOwner = sealedElement("TypeParameterRefsOwner", Declaration)
val typeParametersOwner = sealedElement("TypeParametersOwner", Declaration, typeParameterRefsOwner)
val memberDeclaration = sealedElement("MemberDeclaration", Declaration, typeParameterRefsOwner)
val callableMemberDeclaration = sealedElement("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration)
val callableDeclaration = sealedElement("CallableDeclaration", Declaration, typedDeclaration, memberDeclaration)
val typeParameterRef = element("TypeParameterRef", Declaration)
val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration)
val variable = sealedElement("Variable", Declaration, callableMemberDeclaration, statement)
val variable = sealedElement("Variable", Declaration, callableDeclaration, statement)
val valueParameter = element("ValueParameter", Declaration, variable, controlFlowGraphOwner)
val property = element("Property", Declaration, variable, typeParametersOwner, controlFlowGraphOwner)
val field = element("Field", Declaration, variable)
@@ -49,7 +48,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val regularClass = element("RegularClass", Declaration, klass, memberDeclaration, controlFlowGraphOwner)
val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, memberDeclaration, typeParametersOwner)
val function = sealedElement("Function", Declaration, callableMemberDeclaration, targetElement, controlFlowGraphOwner, statement)
val function = sealedElement("Function", Declaration, callableDeclaration, targetElement, controlFlowGraphOwner, statement)
val contractDescriptionOwner = sealedElement("ContractDescriptionOwner", Declaration)
val simpleFunction = element("SimpleFunction", Declaration, function, contractDescriptionOwner, typeParametersOwner)
@@ -87,9 +87,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
+field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform()
+field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true }
+symbol("FirCallableSymbol", "out FirCallableDeclaration")
}
callableMemberDeclaration.configure {
+field("containerSource", type(DeserializedContainerSource::class), nullable = true)
+field("dispatchReceiverType", coneKotlinTypeType, nullable = true)
}