[FIR] introduce FirElementWithResolvePhase class and make it a base class for FirDeclaration

This commit is contained in:
Ilya Kirillov
2022-12-08 15:22:47 +01:00
committed by teamcity
parent 1a76804862
commit 8fd892176a
76 changed files with 163 additions and 108 deletions
@@ -0,0 +1,29 @@
/*
* 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
import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
abstract class FirElementWithResolvePhase : FirPureAbstractElement(), FirElement {
abstract override val source: KtSourceElement?
abstract val resolvePhase: FirResolvePhase
abstract val moduleData: FirModuleData
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitElementWithResolvePhase(this, data)
@Suppress("UNCHECKED_CAST")
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
transformer.transformElementWithResolvePhase(this, data) as E
abstract fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
}
@@ -26,9 +26,9 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
@@ -21,9 +21,9 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirAnonymousInitializer : FirDeclaration(), FirControlFlowGraphOwner {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
@@ -23,8 +23,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirBackingField : FirVariable(), FirTypeParametersOwner, FirStatement {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val returnTypeRef: FirTypeRef
@@ -22,9 +22,9 @@ import org.jetbrains.kotlin.fir.visitors.*
sealed class FirCallableDeclaration : FirMemberDeclaration() {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -23,8 +23,8 @@ import org.jetbrains.kotlin.fir.visitors.*
sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParameterRefsOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -20,9 +20,9 @@ import org.jetbrains.kotlin.fir.visitors.*
sealed class FirClassLikeDeclaration : FirMemberDeclaration(), FirStatement {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -25,8 +25,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -8,8 +8,8 @@ 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.FirElementWithResolvePhase
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.visitors.*
@@ -19,12 +19,12 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
sealed class FirDeclaration : FirPureAbstractElement(), FirAnnotationContainer {
sealed class FirDeclaration : FirElementWithResolvePhase(), FirAnnotationContainer {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract val symbol: FirBasedSymbol<out FirDeclaration>
abstract val moduleData: FirModuleData
abstract val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract val origin: FirDeclarationOrigin
abstract val attributes: FirDeclarationAttributes
@@ -34,7 +34,7 @@ sealed class FirDeclaration : FirPureAbstractElement(), FirAnnotationContainer {
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
transformer.transformDeclaration(this, data) as E
abstract fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDeclaration
}
@@ -24,8 +24,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirEnumEntry : FirVariable() {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -26,9 +26,9 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -25,8 +25,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirField : FirVariable(), FirControlFlowGraphOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -22,9 +22,9 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirFile : FirDeclaration() {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract val packageDirective: FirPackageDirective
@@ -26,9 +26,9 @@ import org.jetbrains.kotlin.fir.visitors.*
sealed class FirFunction : FirCallableDeclaration(), FirTargetElement, FirControlFlowGraphOwner, FirStatement {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -19,10 +19,10 @@ import org.jetbrains.kotlin.fir.visitors.*
sealed class FirMemberDeclaration : FirDeclaration(), FirTypeParameterRefsOwner {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val symbol: FirBasedSymbol<out FirDeclaration>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFlowGraphOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner, FirTypeParametersOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
@@ -24,8 +24,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirRegularClass : FirClass(), FirControlFlowGraphOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -21,9 +21,9 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirScript : FirDeclaration() {
abstract override val source: KtSourceElement?
abstract override val resolvePhase: FirResolvePhase
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract val name: Name
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, FirTypeParametersOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
@@ -21,8 +21,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirTypeAlias : FirClassLikeDeclaration(), FirTypeParametersOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val status: FirDeclarationStatus
@@ -23,8 +23,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirTypeParameter : FirTypeParameterRef, FirDeclaration() {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract val name: Name
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -25,8 +25,8 @@ import org.jetbrains.kotlin.fir.visitors.*
sealed class FirVariable : FirCallableDeclaration(), FirStatement {
abstract override val source: KtSourceElement?
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val moduleData: FirModuleData
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
@@ -39,9 +39,9 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
interface FirAbstractConstructorBuilder : FirFunctionBuilder {
abstract override var source: KtSourceElement?
abstract override var resolvePhase: FirResolvePhase
abstract override val annotations: MutableList<FirAnnotation>
abstract override var moduleData: FirModuleData
abstract override var resolvePhase: FirResolvePhase
abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes
abstract override var status: FirDeclarationStatus
@@ -32,8 +32,8 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl
class FirAnonymousInitializerBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
var body: FirBlock? = null
@@ -42,8 +42,8 @@ class FirAnonymousInitializerBuilder : FirDeclarationBuilder, FirAnnotationConta
override fun build(): FirAnonymousInitializer {
return FirAnonymousInitializerImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
body,
@@ -40,8 +40,8 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl
class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -57,8 +57,8 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn
override fun build(): FirAnonymousObject {
return FirAnonymousObjectImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
typeParameters,
@@ -43,8 +43,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirBackingFieldBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var moduleData: FirModuleData
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
@@ -71,8 +71,8 @@ class FirBackingFieldBuilder : FirAnnotationContainerBuilder {
override fun build(): FirBackingField {
return FirBackingFieldImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
returnTypeRef,
@@ -34,9 +34,9 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl
interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
abstract override var source: KtSourceElement?
abstract override var resolvePhase: FirResolvePhase
abstract override val annotations: MutableList<FirAnnotation>
abstract override var moduleData: FirModuleData
abstract override var resolvePhase: FirResolvePhase
abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes
abstract val typeParameters: MutableList<FirTypeParameterRef>
@@ -43,8 +43,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -64,8 +64,8 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
override fun build(): FirConstructor {
return FirConstructorImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
typeParameters,
@@ -108,8 +108,8 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
}
val copyBuilder = FirConstructorBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.typeParameters.addAll(original.typeParameters)
@@ -25,9 +25,9 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl
interface FirDeclarationBuilder {
abstract var source: KtSourceElement?
abstract var resolvePhase: FirResolvePhase
abstract val annotations: MutableList<FirAnnotation>
abstract var moduleData: FirModuleData
abstract var resolvePhase: FirResolvePhase
abstract var origin: FirDeclarationOrigin
abstract var attributes: FirDeclarationAttributes
fun build(): FirDeclaration
@@ -45,8 +45,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var moduleData: FirModuleData
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
@@ -73,8 +73,8 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirValueParameter {
return FirDefaultSetterValueParameter(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
returnTypeRef,
@@ -42,8 +42,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var moduleData: FirModuleData
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -62,8 +62,8 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
override fun build(): FirEnumEntry {
return FirEnumEntryImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
typeParameters,
@@ -44,9 +44,9 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val annotations: MutableList<FirAnnotation> = mutableListOf()
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
@@ -60,9 +60,9 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
override fun build(): FirErrorFunction {
return FirErrorFunctionImpl(
source,
resolvePhase,
annotations,
moduleData,
resolvePhase,
origin,
attributes,
deprecationsProvider,
@@ -45,8 +45,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var moduleData: FirModuleData
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
var deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
@@ -62,8 +62,8 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
override fun build(): FirErrorProperty {
return FirErrorPropertyImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
deprecationsProvider,
@@ -45,8 +45,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
open val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -67,8 +67,8 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
override fun build(): FirField {
return FirFieldImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
typeParameters,
@@ -34,9 +34,9 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl
class FirFileBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val annotations: MutableList<FirAnnotation> = mutableListOf()
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var packageDirective: FirPackageDirective
@@ -49,9 +49,9 @@ class FirFileBuilder : FirAnnotationContainerBuilder {
override fun build(): FirFile {
return FirFileImpl(
source,
resolvePhase,
annotations,
moduleData,
resolvePhase,
origin,
attributes,
packageDirective,
@@ -35,9 +35,9 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
abstract override var source: KtSourceElement?
abstract override var resolvePhase: FirResolvePhase
abstract override val annotations: MutableList<FirAnnotation>
abstract override var moduleData: FirModuleData
abstract override var resolvePhase: FirResolvePhase
abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes
abstract var status: FirDeclarationStatus
@@ -44,8 +44,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -66,8 +66,8 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
override fun build(): FirConstructor {
return FirPrimaryConstructor(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
typeParameters,
@@ -47,8 +47,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var status: FirDeclarationStatus
@@ -70,8 +70,8 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
override fun build(): FirPropertyAccessor {
return FirPropertyAccessorImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
status,
@@ -108,8 +108,8 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
}
val copyBuilder = FirPropertyAccessorBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.status = original.status
@@ -48,8 +48,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var status: FirDeclarationStatus
@@ -76,8 +76,8 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
override fun build(): FirProperty {
return FirPropertyImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
status,
@@ -120,8 +120,8 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
}
val copyBuilder = FirPropertyBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.status = original.status
@@ -42,8 +42,8 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl
open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -62,8 +62,8 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
override fun build(): FirRegularClass {
return FirRegularClassImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
typeParameters,
@@ -98,8 +98,8 @@ inline fun buildRegularClassCopy(original: FirRegularClass, init: FirRegularClas
}
val copyBuilder = FirRegularClassBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.typeParameters.addAll(original.typeParameters)
@@ -32,9 +32,9 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl
class FirScriptBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val annotations: MutableList<FirAnnotation> = mutableListOf()
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var name: Name
@@ -45,9 +45,9 @@ class FirScriptBuilder : FirAnnotationContainerBuilder {
override fun build(): FirScript {
return FirScriptImpl(
source,
resolvePhase,
annotations,
moduleData,
resolvePhase,
origin,
attributes,
name,
@@ -46,8 +46,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var status: FirDeclarationStatus
@@ -68,8 +68,8 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
override fun build(): FirSimpleFunction {
return FirSimpleFunctionImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
status,
@@ -106,8 +106,8 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
}
val copyBuilder = FirSimpleFunctionBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.status = original.status
@@ -37,8 +37,8 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl
class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
override lateinit var moduleData: FirModuleData
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var moduleData: FirModuleData
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var status: FirDeclarationStatus
@@ -52,8 +52,8 @@ class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder
override fun build(): FirTypeAlias {
return FirTypeAliasImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
status,
@@ -83,8 +83,8 @@ inline fun buildTypeAliasCopy(original: FirTypeAlias, init: FirTypeAliasBuilder.
}
val copyBuilder = FirTypeAliasBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.status = original.status
@@ -33,8 +33,8 @@ import org.jetbrains.kotlin.types.Variance
@FirBuilderDsl
class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
lateinit var moduleData: FirModuleData
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var moduleData: FirModuleData
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var name: Name
@@ -48,8 +48,8 @@ class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirTypeParameter {
return FirTypeParameterImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
name,
@@ -79,8 +79,8 @@ inline fun buildTypeParameterCopy(original: FirTypeParameter, init: FirTypeParam
}
val copyBuilder = FirTypeParameterBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.name = original.name
@@ -45,8 +45,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl
open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
override var source: KtSourceElement? = null
open lateinit var moduleData: FirModuleData
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
open lateinit var moduleData: FirModuleData
open lateinit var origin: FirDeclarationOrigin
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
open lateinit var returnTypeRef: FirTypeRef
@@ -67,8 +67,8 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirValueParameter {
return FirValueParameterImpl(
source,
moduleData,
resolvePhase,
moduleData,
origin,
attributes,
returnTypeRef,
@@ -105,8 +105,8 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
}
val copyBuilder = FirValueParameterBuilder()
copyBuilder.source = original.source
copyBuilder.moduleData = original.moduleData
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.moduleData = original.moduleData
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef
@@ -26,9 +26,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirAnonymousInitializerImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var body: FirBlock?,
@@ -32,9 +32,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirAnonymousObjectImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -37,9 +37,9 @@ import org.jetbrains.kotlin.fir.visitors.*
open class FirBackingFieldImpl @FirImplementationDetail constructor(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
@@ -36,9 +36,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirConstructorImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -39,9 +39,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirDefaultSetterValueParameter(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
@@ -36,9 +36,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirEnumEntryImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -38,10 +38,10 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirErrorFunctionImpl(
override val source: KtSourceElement?,
override val annotations: MutableList<FirAnnotation>,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val annotations: MutableList<FirAnnotation>,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var deprecationsProvider: DeprecationsProvider,
@@ -39,9 +39,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirErrorPropertyImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var deprecationsProvider: DeprecationsProvider,
@@ -38,9 +38,9 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirFieldImpl @FirImplementationDetail constructor(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -29,10 +29,10 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirFileImpl(
override val source: KtSourceElement?,
override val annotations: MutableList<FirAnnotation>,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val annotations: MutableList<FirAnnotation>,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var packageDirective: FirPackageDirective,
@@ -37,9 +37,9 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirPrimaryConstructor @FirImplementationDetail constructor(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -39,9 +39,9 @@ import org.jetbrains.kotlin.fir.visitors.*
open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var status: FirDeclarationStatus,
@@ -40,9 +40,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirPropertyImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var status: FirDeclarationStatus,
@@ -34,9 +34,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirRegularClassImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -27,10 +27,10 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirScriptImpl(
override val source: KtSourceElement?,
override val annotations: MutableList<FirAnnotation>,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val annotations: MutableList<FirAnnotation>,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val name: Name,
@@ -37,9 +37,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirSimpleFunctionImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var status: FirDeclarationStatus,
@@ -29,9 +29,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirTypeAliasImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var status: FirDeclarationStatus,
@@ -28,9 +28,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirTypeParameterImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val name: Name,
@@ -39,9 +39,9 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirValueParameterImpl(
override val source: KtSourceElement?,
override val moduleData: FirModuleData,
@Volatile
override var resolvePhase: FirResolvePhase,
override val moduleData: FirModuleData,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.FirElementWithResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
@@ -159,8 +160,6 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
override fun visitExpression(expression: FirExpression, data: D): R = visitStatement(expression, data)
override fun visitDeclaration(declaration: FirDeclaration, data: D): R = visitAnnotationContainer(declaration, data)
override fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitTypeParameterRefsOwner(typeParametersOwner, data)
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitMemberDeclaration(callableDeclaration, data)
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.FirElementWithResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
@@ -159,8 +160,6 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
override fun visitExpression(expression: FirExpression) = visitStatement(expression)
override fun visitDeclaration(declaration: FirDeclaration) = visitAnnotationContainer(declaration)
override fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner) = visitTypeParameterRefsOwner(typeParametersOwner)
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) = visitMemberDeclaration(callableDeclaration)
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.FirElementWithResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
@@ -202,6 +203,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformElement(contextReceiver, data)
}
open fun transformElementWithResolvePhase(elementWithResolvePhase: FirElementWithResolvePhase, data: D): FirElementWithResolvePhase {
return transformElement(elementWithResolvePhase, data)
}
open fun transformDeclaration(declaration: FirDeclaration, data: D): FirDeclaration {
return transformElement(declaration, data)
}
@@ -758,6 +763,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformContextReceiver(contextReceiver, data)
}
final override fun visitElementWithResolvePhase(elementWithResolvePhase: FirElementWithResolvePhase, data: D): FirElementWithResolvePhase {
return transformElementWithResolvePhase(elementWithResolvePhase, data)
}
final override fun visitDeclaration(declaration: FirDeclaration, data: D): FirDeclaration {
return transformDeclaration(declaration, data)
}
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.FirElementWithResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
@@ -177,6 +178,8 @@ abstract class FirVisitor<out R, in D> {
open fun visitContextReceiver(contextReceiver: FirContextReceiver, data: D): R = visitElement(contextReceiver, data)
open fun visitElementWithResolvePhase(elementWithResolvePhase: FirElementWithResolvePhase, data: D): R = visitElement(elementWithResolvePhase, data)
open fun visitDeclaration(declaration: FirDeclaration, data: D): R = visitElement(declaration, data)
open fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): R = visitElement(typeParameterRefsOwner, data)
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.declarations.FirContextReceiver
import org.jetbrains.kotlin.fir.FirElementWithResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
@@ -201,6 +202,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(contextReceiver)
}
open fun visitElementWithResolvePhase(elementWithResolvePhase: FirElementWithResolvePhase) {
visitElement(elementWithResolvePhase)
}
open fun visitDeclaration(declaration: FirDeclaration) {
visitElement(declaration)
}
@@ -757,6 +762,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitContextReceiver(contextReceiver)
}
final override fun visitElementWithResolvePhase(elementWithResolvePhase: FirElementWithResolvePhase, data: Nothing?) {
visitElementWithResolvePhase(elementWithResolvePhase)
}
final override fun visitDeclaration(declaration: FirDeclaration, data: Nothing?) {
visitDeclaration(declaration)
}
@@ -41,8 +41,8 @@ abstract class FirDefaultPropertyAccessor(
symbol: FirPropertyAccessorSymbol
) : FirPropertyAccessorImpl(
source,
moduleData,
resolvePhase = FirResolvePhase.RAW_FIR,
moduleData,
origin,
FirDeclarationAttributes(),
status = if (effectiveVisibility == null)
@@ -29,7 +29,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val contextReceiver by element(Declaration)
val declaration by sealedElement(Declaration, annotationContainer)
val elementWithResolvePhase by element(Other)
val declaration by sealedElement(Declaration, elementWithResolvePhase, annotationContainer)
val typeParameterRefsOwner by sealedElement(Declaration)
val typeParametersOwner by sealedElement(Declaration, typeParameterRefsOwner)
val memberDeclaration by sealedElement(Declaration, declaration, typeParameterRefsOwner)
@@ -76,10 +76,16 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
+field("labelNameFromTypeRef", nameType, nullable = true)
}
elementWithResolvePhase.configure {
+field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true; isVolatile = true }
+field("moduleData", firModuleDataType)
shouldBeAbstractClass()
}
declaration.configure {
+symbolWithPackage("fir.symbols", "FirBasedSymbol", "out FirDeclaration")
+field("moduleData", firModuleDataType)
+field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true; isVolatile = true }
+field("origin", declarationOriginType)
+field("attributes", declarationAttributesType)
shouldBeAbstractClass()