[FIR] Add FirBackingField
This commit is contained in:
committed by
TeamCityServer
parent
a0982341ee
commit
ee58df6b3c
@@ -55,6 +55,7 @@ class FirJavaField @FirImplementationDetail constructor(
|
||||
override val isVal: Boolean get() = !isVar
|
||||
override val getter: FirPropertyAccessor? get() = null
|
||||
override val setter: FirPropertyAccessor? get() = null
|
||||
override val backingField: FirBackingField? = null
|
||||
|
||||
override val origin: FirDeclarationOrigin
|
||||
get() = FirDeclarationOrigin.Java
|
||||
@@ -78,6 +79,10 @@ class FirJavaField @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirField {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirField {
|
||||
transformAnnotations(transformer, data)
|
||||
initializer = initializer?.transformSingle(transformer, data)
|
||||
|
||||
+7
@@ -79,6 +79,9 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
||||
override val setter: FirPropertyAccessor?
|
||||
get() = null
|
||||
|
||||
override val backingField: FirBackingField?
|
||||
get() = null
|
||||
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
get() = null
|
||||
|
||||
@@ -131,6 +134,10 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirValueParameter {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameter {
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* 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.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyFieldDeclarationSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirBackingField : FirTypedDeclaration(), FirTypeParametersOwner, 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 symbol: FirPropertyFieldDeclarationSymbol
|
||||
abstract val backingFieldSymbol: FirBackingFieldSymbol?
|
||||
abstract val propertySymbol: FirPropertySymbol?
|
||||
abstract val initializer: FirExpression?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameter>
|
||||
abstract val status: FirDeclarationStatus
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitBackingField(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformBackingField(this, data) as E
|
||||
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
abstract fun replaceInitializer(newInitializer: FirExpression?)
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirBackingField
|
||||
|
||||
abstract fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirBackingField
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirBackingField
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirBackingField
|
||||
|
||||
abstract fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirBackingField
|
||||
}
|
||||
@@ -42,6 +42,7 @@ abstract class FirEnumEntry : FirVariable() {
|
||||
abstract override val isVal: Boolean
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val backingField: FirBackingField?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val symbol: FirEnumEntrySymbol
|
||||
|
||||
@@ -77,6 +78,8 @@ abstract class FirEnumEntry : FirVariable() {
|
||||
|
||||
abstract override fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
@@ -44,6 +44,7 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
|
||||
abstract override val isVal: Boolean
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val backingField: FirBackingField?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val diagnostic: ConeDiagnostic
|
||||
abstract override val symbol: FirErrorPropertySymbol
|
||||
@@ -80,6 +81,8 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
|
||||
|
||||
abstract override fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
@@ -42,6 +42,7 @@ abstract class FirField : FirVariable() {
|
||||
abstract override val isVal: Boolean
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val backingField: FirBackingField?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val symbol: FirFieldSymbol
|
||||
|
||||
@@ -77,6 +78,8 @@ abstract class FirField : FirVariable() {
|
||||
|
||||
abstract override fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
@@ -44,6 +44,7 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
|
||||
abstract override val isVal: Boolean
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val backingField: FirBackingField?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val symbol: FirPropertySymbol
|
||||
@@ -87,6 +88,8 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
|
||||
|
||||
abstract override fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
@@ -43,6 +43,7 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
||||
abstract override val isVal: Boolean
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val backingField: FirBackingField?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val symbol: FirValueParameterSymbol
|
||||
@@ -85,6 +86,8 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
||||
|
||||
abstract override fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
@@ -44,6 +44,7 @@ sealed class FirVariable : FirCallableDeclaration(), FirStatement {
|
||||
abstract val isVal: Boolean
|
||||
abstract val getter: FirPropertyAccessor?
|
||||
abstract val setter: FirPropertyAccessor?
|
||||
abstract val backingField: FirBackingField?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitVariable(this, data)
|
||||
@@ -78,6 +79,8 @@ sealed class FirVariable : FirCallableDeclaration(), FirStatement {
|
||||
|
||||
abstract fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* 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.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirBackingFieldImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyFieldDeclarationSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirBackingFieldBuilder : FirAnnotationContainerBuilder {
|
||||
override var source: FirSourceElement? = null
|
||||
lateinit var moduleData: FirModuleData
|
||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||
lateinit var origin: FirDeclarationOrigin
|
||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
lateinit var returnTypeRef: FirTypeRef
|
||||
lateinit var symbol: FirPropertyFieldDeclarationSymbol
|
||||
var backingFieldSymbol: FirBackingFieldSymbol? = null
|
||||
var propertySymbol: FirPropertySymbol? = null
|
||||
var initializer: FirExpression? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
lateinit var status: FirDeclarationStatus
|
||||
|
||||
override fun build(): FirBackingField {
|
||||
return FirBackingFieldImpl(
|
||||
source,
|
||||
moduleData,
|
||||
resolvePhase,
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
symbol,
|
||||
backingFieldSymbol,
|
||||
propertySymbol,
|
||||
initializer,
|
||||
annotations,
|
||||
typeParameters,
|
||||
status,
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildBackingField(init: FirBackingFieldBuilder.() -> Unit): FirBackingField {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
return FirBackingFieldBuilder().apply(init).build()
|
||||
}
|
||||
+3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -53,6 +54,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
var isVal: Boolean = true
|
||||
var getter: FirPropertyAccessor? = null
|
||||
var setter: FirPropertyAccessor? = null
|
||||
var backingField: FirBackingField? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
lateinit var symbol: FirValueParameterSymbol
|
||||
var defaultValue: FirExpression? = null
|
||||
@@ -78,6 +80,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
isVal,
|
||||
getter,
|
||||
setter,
|
||||
backingField,
|
||||
annotations,
|
||||
symbol,
|
||||
defaultValue,
|
||||
|
||||
+3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -48,6 +49,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
var initializer: FirExpression? = null
|
||||
var backingField: FirBackingField? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
lateinit var symbol: FirEnumEntrySymbol
|
||||
|
||||
@@ -66,6 +68,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
initializer,
|
||||
backingField,
|
||||
annotations,
|
||||
symbol,
|
||||
)
|
||||
|
||||
+3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -47,6 +48,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
var backingField: FirBackingField? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
lateinit var diagnostic: ConeDiagnostic
|
||||
lateinit var symbol: FirErrorPropertySymbol
|
||||
@@ -62,6 +64,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
backingField,
|
||||
annotations,
|
||||
diagnostic,
|
||||
symbol,
|
||||
|
||||
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -51,6 +52,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
||||
open lateinit var name: Name
|
||||
open var initializer: FirExpression? = null
|
||||
open var isVar: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||
open var backingField: FirBackingField? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
open lateinit var symbol: FirFieldSymbol
|
||||
|
||||
@@ -71,6 +73,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
||||
name,
|
||||
initializer,
|
||||
isVar,
|
||||
backingField,
|
||||
annotations,
|
||||
symbol,
|
||||
)
|
||||
|
||||
+4
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -58,6 +59,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
var isVar: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||
var getter: FirPropertyAccessor? = null
|
||||
var setter: FirPropertyAccessor? = null
|
||||
var backingField: FirBackingField? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
lateinit var symbol: FirPropertySymbol
|
||||
var delegateFieldSymbol: FirDelegateFieldSymbol? = null
|
||||
@@ -84,6 +86,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
isVar,
|
||||
getter,
|
||||
setter,
|
||||
backingField,
|
||||
annotations,
|
||||
symbol,
|
||||
delegateFieldSymbol,
|
||||
@@ -126,6 +129,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
|
||||
copyBuilder.isVar = original.isVar
|
||||
copyBuilder.getter = original.getter
|
||||
copyBuilder.setter = original.setter
|
||||
copyBuilder.backingField = original.backingField
|
||||
copyBuilder.annotations.addAll(original.annotations)
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.delegateFieldSymbol = original.delegateFieldSymbol
|
||||
|
||||
+4
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -47,6 +48,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
open var containerSource: DeserializedContainerSource? = null
|
||||
open var dispatchReceiverType: ConeKotlinType? = null
|
||||
open lateinit var name: Name
|
||||
open var backingField: FirBackingField? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
open lateinit var symbol: FirValueParameterSymbol
|
||||
open var defaultValue: FirExpression? = null
|
||||
@@ -66,6 +68,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
backingField,
|
||||
annotations,
|
||||
symbol,
|
||||
defaultValue,
|
||||
@@ -101,6 +104,7 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.name = original.name
|
||||
copyBuilder.backingField = original.backingField
|
||||
copyBuilder.annotations.addAll(original.annotations)
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.defaultValue = original.defaultValue
|
||||
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* 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.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyFieldDeclarationSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
internal class FirBackingFieldImpl(
|
||||
override val source: FirSourceElement?,
|
||||
override val moduleData: FirModuleData,
|
||||
@Volatile
|
||||
override var resolvePhase: FirResolvePhase,
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override val symbol: FirPropertyFieldDeclarationSymbol,
|
||||
override val backingFieldSymbol: FirBackingFieldSymbol?,
|
||||
override val propertySymbol: FirPropertySymbol?,
|
||||
override var initializer: FirExpression?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
override var status: FirDeclarationStatus,
|
||||
) : FirBackingField() {
|
||||
init {
|
||||
symbol.bind(this)
|
||||
}
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
|
||||
returnTypeRef = returnTypeRef.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirBackingFieldImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) {
|
||||
resolvePhase = newResolvePhase
|
||||
}
|
||||
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||
initializer = newInitializer
|
||||
}
|
||||
}
|
||||
+9
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -49,6 +50,7 @@ internal class FirDefaultSetterValueParameter(
|
||||
override val isVal: Boolean,
|
||||
override var getter: FirPropertyAccessor?,
|
||||
override var setter: FirPropertyAccessor?,
|
||||
override var backingField: FirBackingField?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val symbol: FirValueParameterSymbol,
|
||||
override var defaultValue: FirExpression?,
|
||||
@@ -73,6 +75,7 @@ internal class FirDefaultSetterValueParameter(
|
||||
delegate?.accept(visitor, data)
|
||||
getter?.accept(visitor, data)
|
||||
setter?.accept(visitor, data)
|
||||
backingField?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
defaultValue?.accept(visitor, data)
|
||||
@@ -86,6 +89,7 @@ internal class FirDefaultSetterValueParameter(
|
||||
transformDelegate(transformer, data)
|
||||
transformGetter(transformer, data)
|
||||
transformSetter(transformer, data)
|
||||
transformBackingField(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -129,6 +133,11 @@ internal class FirDefaultSetterValueParameter(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
backingField = backingField?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -44,6 +45,7 @@ internal class FirEnumEntryImpl(
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override var initializer: FirExpression?,
|
||||
override var backingField: FirBackingField?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val symbol: FirEnumEntrySymbol,
|
||||
) : FirEnumEntry() {
|
||||
@@ -63,6 +65,7 @@ internal class FirEnumEntryImpl(
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
backingField?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
@@ -71,6 +74,7 @@ internal class FirEnumEntryImpl(
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformBackingField(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -111,6 +115,11 @@ internal class FirEnumEntryImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
backingField = backingField?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
+9
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -43,6 +44,7 @@ internal class FirErrorPropertyImpl(
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override var backingField: FirBackingField?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val diagnostic: ConeDiagnostic,
|
||||
override val symbol: FirErrorPropertySymbol,
|
||||
@@ -65,12 +67,14 @@ internal class FirErrorPropertyImpl(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
backingField?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformBackingField(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -109,6 +113,11 @@ internal class FirErrorPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
backingField = backingField?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -46,6 +47,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
override val name: Name,
|
||||
override var initializer: FirExpression?,
|
||||
override val isVar: Boolean,
|
||||
override var backingField: FirBackingField?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val symbol: FirFieldSymbol,
|
||||
) : FirField() {
|
||||
@@ -64,6 +66,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
backingField?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
@@ -72,6 +75,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformBackingField(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -112,6 +116,11 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
backingField = backingField?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -52,6 +53,7 @@ internal class FirPropertyImpl(
|
||||
override val isVar: Boolean,
|
||||
override var getter: FirPropertyAccessor?,
|
||||
override var setter: FirPropertyAccessor?,
|
||||
override var backingField: FirBackingField?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val symbol: FirPropertySymbol,
|
||||
override val delegateFieldSymbol: FirDelegateFieldSymbol?,
|
||||
@@ -77,6 +79,7 @@ internal class FirPropertyImpl(
|
||||
delegate?.accept(visitor, data)
|
||||
getter?.accept(visitor, data)
|
||||
setter?.accept(visitor, data)
|
||||
backingField?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
@@ -90,6 +93,7 @@ internal class FirPropertyImpl(
|
||||
transformDelegate(transformer, data)
|
||||
transformGetter(transformer, data)
|
||||
transformSetter(transformer, data)
|
||||
transformBackingField(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
@@ -130,6 +134,11 @@ internal class FirPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
backingField = backingField?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
+9
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -43,6 +44,7 @@ internal class FirValueParameterImpl(
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override var backingField: FirBackingField?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val symbol: FirValueParameterSymbol,
|
||||
override var defaultValue: FirExpression?,
|
||||
@@ -68,6 +70,7 @@ internal class FirValueParameterImpl(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
backingField?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
defaultValue?.accept(visitor, data)
|
||||
@@ -76,6 +79,7 @@ internal class FirValueParameterImpl(
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformBackingField(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -114,6 +118,11 @@ internal class FirValueParameterImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
backingField = backingField?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirContractDescriptionOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.FirPackageDirective
|
||||
@@ -280,6 +281,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(propertyAccessor, data)
|
||||
}
|
||||
|
||||
open fun transformBackingField(backingField: FirBackingField, data: D): FirStatement {
|
||||
return transformElement(backingField, data)
|
||||
}
|
||||
|
||||
open fun transformConstructor(constructor: FirConstructor, data: D): FirStatement {
|
||||
return transformElement(constructor, data)
|
||||
}
|
||||
@@ -796,6 +801,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformPropertyAccessor(propertyAccessor, data)
|
||||
}
|
||||
|
||||
final override fun visitBackingField(backingField: FirBackingField, data: D): FirStatement {
|
||||
return transformBackingField(backingField, data)
|
||||
}
|
||||
|
||||
final override fun visitConstructor(constructor: FirConstructor, data: D): FirStatement {
|
||||
return transformConstructor(constructor, data)
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirContractDescriptionOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.FirPackageDirective
|
||||
@@ -211,6 +212,8 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitPropertyAccessor(propertyAccessor: FirPropertyAccessor, data: D): R = visitElement(propertyAccessor, data)
|
||||
|
||||
open fun visitBackingField(backingField: FirBackingField, data: D): R = visitElement(backingField, data)
|
||||
|
||||
open fun visitConstructor(constructor: FirConstructor, data: D): R = visitElement(constructor, data)
|
||||
|
||||
open fun visitFile(file: FirFile, data: D): R = visitElement(file, data)
|
||||
|
||||
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirContractDescriptionOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirBackingField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.FirPackageDirective
|
||||
@@ -279,6 +280,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(propertyAccessor)
|
||||
}
|
||||
|
||||
open fun visitBackingField(backingField: FirBackingField) {
|
||||
visitElement(backingField)
|
||||
}
|
||||
|
||||
open fun visitConstructor(constructor: FirConstructor) {
|
||||
visitElement(constructor)
|
||||
}
|
||||
@@ -795,6 +800,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitPropertyAccessor(propertyAccessor)
|
||||
}
|
||||
|
||||
final override fun visitBackingField(backingField: FirBackingField, data: Nothing?) {
|
||||
visitBackingField(backingField)
|
||||
}
|
||||
|
||||
final override fun visitConstructor(constructor: FirConstructor, data: Nothing?) {
|
||||
visitConstructor(constructor)
|
||||
}
|
||||
|
||||
+5
@@ -30,6 +30,7 @@ class FirSyntheticProperty(
|
||||
override var resolvePhase: FirResolvePhase,
|
||||
override val getter: FirSyntheticPropertyAccessor,
|
||||
override val setter: FirSyntheticPropertyAccessor? = null,
|
||||
override val backingField: FirBackingField? = null,
|
||||
override val deprecation: DeprecationsPerUseSite? = null
|
||||
) : FirProperty() {
|
||||
init {
|
||||
@@ -122,6 +123,10 @@ class FirSyntheticProperty(
|
||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
||||
}
|
||||
|
||||
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
|
||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
||||
}
|
||||
|
||||
override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirProperty {
|
||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirLabel
|
||||
import org.jetbrains.kotlin.fir.contracts.FirResolvedContractDescription
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.symbols.AccessorSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -70,4 +71,6 @@ class FirAnonymousFunctionSymbol : FirFunctionWithoutNameSymbol<FirAnonymousFunc
|
||||
|
||||
class FirPropertyAccessorSymbol : FirFunctionWithoutNameSymbol<FirPropertyAccessor>(Name.identifier("accessor"))
|
||||
|
||||
class FirPropertyFieldDeclarationSymbol() : FirBasedSymbol<FirBackingField>()
|
||||
|
||||
class FirErrorFunctionSymbol : FirFunctionWithoutNameSymbol<FirErrorFunction>(Name.identifier("error"))
|
||||
|
||||
+1
@@ -53,6 +53,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val contractDescriptionOwner = sealedElement("ContractDescriptionOwner", Declaration)
|
||||
val simpleFunction = element("SimpleFunction", Declaration, function, contractDescriptionOwner, typeParametersOwner)
|
||||
val propertyAccessor = element("PropertyAccessor", Declaration, function, contractDescriptionOwner, typeParametersOwner)
|
||||
val backingField = element("BackingField", Declaration, typedDeclaration, typeParametersOwner, statement)
|
||||
val constructor = element("Constructor", Declaration, function, typeParameterRefsOwner)
|
||||
val file = element("File", Declaration, annotatedDeclaration)
|
||||
val packageDirective = element("PackageDirective", Other)
|
||||
|
||||
+15
@@ -333,6 +333,20 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+typeParameters
|
||||
}
|
||||
|
||||
backingField.configure {
|
||||
+symbol("FirPropertyFieldDeclarationSymbol")
|
||||
+field("backingFieldSymbol", backingFieldSymbolType, nullable = true).apply {
|
||||
withBindThis = false
|
||||
}
|
||||
+field("propertySymbol", firPropertySymbolType, nullable = true).apply {
|
||||
withBindThis = false
|
||||
}
|
||||
+initializer.withTransform().withReplace()
|
||||
+annotations
|
||||
+typeParameters
|
||||
+status.withTransform()
|
||||
}
|
||||
|
||||
declarationStatus.configure {
|
||||
+visibility
|
||||
+modality
|
||||
@@ -377,6 +391,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
generateBooleanFields("var", "val")
|
||||
+field("getter", propertyAccessor, nullable = true).withTransform()
|
||||
+field("setter", propertyAccessor, nullable = true).withTransform()
|
||||
+field("backingField", backingField, nullable = true).withTransform()
|
||||
+annotations
|
||||
needTransformOtherChildren()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user