[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 isVal: Boolean get() = !isVar
|
||||||
override val getter: FirPropertyAccessor? get() = null
|
override val getter: FirPropertyAccessor? get() = null
|
||||||
override val setter: FirPropertyAccessor? get() = null
|
override val setter: FirPropertyAccessor? get() = null
|
||||||
|
override val backingField: FirBackingField? = null
|
||||||
|
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
get() = FirDeclarationOrigin.Java
|
get() = FirDeclarationOrigin.Java
|
||||||
@@ -78,6 +79,10 @@ class FirJavaField @FirImplementationDetail constructor(
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirField {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirField {
|
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirField {
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
initializer = initializer?.transformSingle(transformer, data)
|
initializer = initializer?.transformSingle(transformer, data)
|
||||||
|
|||||||
+7
@@ -79,6 +79,9 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
|||||||
override val setter: FirPropertyAccessor?
|
override val setter: FirPropertyAccessor?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
override val backingField: FirBackingField?
|
||||||
|
get() = null
|
||||||
|
|
||||||
override val controlFlowGraphReference: FirControlFlowGraphReference?
|
override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
@@ -131,6 +134,10 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun <D> transformBackingField(transformer: FirTransformer<D>, data: D): FirValueParameter {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameter {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameter {
|
||||||
return this
|
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 isVal: Boolean
|
||||||
abstract override val getter: FirPropertyAccessor?
|
abstract override val getter: FirPropertyAccessor?
|
||||||
abstract override val setter: FirPropertyAccessor?
|
abstract override val setter: FirPropertyAccessor?
|
||||||
|
abstract override val backingField: FirBackingField?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val symbol: FirEnumEntrySymbol
|
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> 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> transformAnnotations(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||||
|
|
||||||
abstract override fun <D> transformOtherChildren(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 isVal: Boolean
|
||||||
abstract override val getter: FirPropertyAccessor?
|
abstract override val getter: FirPropertyAccessor?
|
||||||
abstract override val setter: FirPropertyAccessor?
|
abstract override val setter: FirPropertyAccessor?
|
||||||
|
abstract override val backingField: FirBackingField?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val diagnostic: ConeDiagnostic
|
abstract override val diagnostic: ConeDiagnostic
|
||||||
abstract override val symbol: FirErrorPropertySymbol
|
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> 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> transformAnnotations(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||||
|
|
||||||
abstract override fun <D> transformOtherChildren(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 isVal: Boolean
|
||||||
abstract override val getter: FirPropertyAccessor?
|
abstract override val getter: FirPropertyAccessor?
|
||||||
abstract override val setter: FirPropertyAccessor?
|
abstract override val setter: FirPropertyAccessor?
|
||||||
|
abstract override val backingField: FirBackingField?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val symbol: FirFieldSymbol
|
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> 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> transformAnnotations(transformer: FirTransformer<D>, data: D): FirField
|
||||||
|
|
||||||
abstract override fun <D> transformOtherChildren(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 isVal: Boolean
|
||||||
abstract override val getter: FirPropertyAccessor?
|
abstract override val getter: FirPropertyAccessor?
|
||||||
abstract override val setter: FirPropertyAccessor?
|
abstract override val setter: FirPropertyAccessor?
|
||||||
|
abstract override val backingField: FirBackingField?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||||
abstract override val symbol: FirPropertySymbol
|
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> 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> transformAnnotations(transformer: FirTransformer<D>, data: D): FirProperty
|
||||||
|
|
||||||
abstract override fun <D> transformTypeParameters(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 isVal: Boolean
|
||||||
abstract override val getter: FirPropertyAccessor?
|
abstract override val getter: FirPropertyAccessor?
|
||||||
abstract override val setter: FirPropertyAccessor?
|
abstract override val setter: FirPropertyAccessor?
|
||||||
|
abstract override val backingField: FirBackingField?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||||
abstract override val symbol: FirValueParameterSymbol
|
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> 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> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||||
|
|
||||||
abstract override fun <D> transformOtherChildren(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 isVal: Boolean
|
||||||
abstract val getter: FirPropertyAccessor?
|
abstract val getter: FirPropertyAccessor?
|
||||||
abstract val setter: FirPropertyAccessor?
|
abstract val setter: FirPropertyAccessor?
|
||||||
|
abstract val backingField: FirBackingField?
|
||||||
abstract override val annotations: List<FirAnnotationCall>
|
abstract override val annotations: List<FirAnnotationCall>
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitVariable(this, data)
|
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> 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 override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirVariable
|
||||||
|
|
||||||
abstract fun <D> transformOtherChildren(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.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -53,6 +54,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
var isVal: Boolean = true
|
var isVal: Boolean = true
|
||||||
var getter: FirPropertyAccessor? = null
|
var getter: FirPropertyAccessor? = null
|
||||||
var setter: FirPropertyAccessor? = null
|
var setter: FirPropertyAccessor? = null
|
||||||
|
var backingField: FirBackingField? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
lateinit var symbol: FirValueParameterSymbol
|
lateinit var symbol: FirValueParameterSymbol
|
||||||
var defaultValue: FirExpression? = null
|
var defaultValue: FirExpression? = null
|
||||||
@@ -78,6 +80,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
isVal,
|
isVal,
|
||||||
getter,
|
getter,
|
||||||
setter,
|
setter,
|
||||||
|
backingField,
|
||||||
annotations,
|
annotations,
|
||||||
symbol,
|
symbol,
|
||||||
defaultValue,
|
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.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -48,6 +49,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
|||||||
var dispatchReceiverType: ConeKotlinType? = null
|
var dispatchReceiverType: ConeKotlinType? = null
|
||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
var initializer: FirExpression? = null
|
var initializer: FirExpression? = null
|
||||||
|
var backingField: FirBackingField? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
lateinit var symbol: FirEnumEntrySymbol
|
lateinit var symbol: FirEnumEntrySymbol
|
||||||
|
|
||||||
@@ -66,6 +68,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
|||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
name,
|
name,
|
||||||
initializer,
|
initializer,
|
||||||
|
backingField,
|
||||||
annotations,
|
annotations,
|
||||||
symbol,
|
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.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -47,6 +48,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
|||||||
var containerSource: DeserializedContainerSource? = null
|
var containerSource: DeserializedContainerSource? = null
|
||||||
var dispatchReceiverType: ConeKotlinType? = null
|
var dispatchReceiverType: ConeKotlinType? = null
|
||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
|
var backingField: FirBackingField? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
lateinit var diagnostic: ConeDiagnostic
|
lateinit var diagnostic: ConeDiagnostic
|
||||||
lateinit var symbol: FirErrorPropertySymbol
|
lateinit var symbol: FirErrorPropertySymbol
|
||||||
@@ -62,6 +64,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
|||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
name,
|
name,
|
||||||
|
backingField,
|
||||||
annotations,
|
annotations,
|
||||||
diagnostic,
|
diagnostic,
|
||||||
symbol,
|
symbol,
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
|||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -51,6 +52,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
|||||||
open lateinit var name: Name
|
open lateinit var name: Name
|
||||||
open var initializer: FirExpression? = null
|
open var initializer: FirExpression? = null
|
||||||
open var isVar: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
open var isVar: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
|
open var backingField: FirBackingField? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
open lateinit var symbol: FirFieldSymbol
|
open lateinit var symbol: FirFieldSymbol
|
||||||
|
|
||||||
@@ -71,6 +73,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
|||||||
name,
|
name,
|
||||||
initializer,
|
initializer,
|
||||||
isVar,
|
isVar,
|
||||||
|
backingField,
|
||||||
annotations,
|
annotations,
|
||||||
symbol,
|
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.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
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 isVar: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
var getter: FirPropertyAccessor? = null
|
var getter: FirPropertyAccessor? = null
|
||||||
var setter: FirPropertyAccessor? = null
|
var setter: FirPropertyAccessor? = null
|
||||||
|
var backingField: FirBackingField? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
lateinit var symbol: FirPropertySymbol
|
lateinit var symbol: FirPropertySymbol
|
||||||
var delegateFieldSymbol: FirDelegateFieldSymbol? = null
|
var delegateFieldSymbol: FirDelegateFieldSymbol? = null
|
||||||
@@ -84,6 +86,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
|||||||
isVar,
|
isVar,
|
||||||
getter,
|
getter,
|
||||||
setter,
|
setter,
|
||||||
|
backingField,
|
||||||
annotations,
|
annotations,
|
||||||
symbol,
|
symbol,
|
||||||
delegateFieldSymbol,
|
delegateFieldSymbol,
|
||||||
@@ -126,6 +129,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
|
|||||||
copyBuilder.isVar = original.isVar
|
copyBuilder.isVar = original.isVar
|
||||||
copyBuilder.getter = original.getter
|
copyBuilder.getter = original.getter
|
||||||
copyBuilder.setter = original.setter
|
copyBuilder.setter = original.setter
|
||||||
|
copyBuilder.backingField = original.backingField
|
||||||
copyBuilder.annotations.addAll(original.annotations)
|
copyBuilder.annotations.addAll(original.annotations)
|
||||||
copyBuilder.symbol = original.symbol
|
copyBuilder.symbol = original.symbol
|
||||||
copyBuilder.delegateFieldSymbol = original.delegateFieldSymbol
|
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.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -47,6 +48,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
open var containerSource: DeserializedContainerSource? = null
|
open var containerSource: DeserializedContainerSource? = null
|
||||||
open var dispatchReceiverType: ConeKotlinType? = null
|
open var dispatchReceiverType: ConeKotlinType? = null
|
||||||
open lateinit var name: Name
|
open lateinit var name: Name
|
||||||
|
open var backingField: FirBackingField? = null
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
open lateinit var symbol: FirValueParameterSymbol
|
open lateinit var symbol: FirValueParameterSymbol
|
||||||
open var defaultValue: FirExpression? = null
|
open var defaultValue: FirExpression? = null
|
||||||
@@ -66,6 +68,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
|||||||
containerSource,
|
containerSource,
|
||||||
dispatchReceiverType,
|
dispatchReceiverType,
|
||||||
name,
|
name,
|
||||||
|
backingField,
|
||||||
annotations,
|
annotations,
|
||||||
symbol,
|
symbol,
|
||||||
defaultValue,
|
defaultValue,
|
||||||
@@ -101,6 +104,7 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
|
|||||||
copyBuilder.containerSource = original.containerSource
|
copyBuilder.containerSource = original.containerSource
|
||||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||||
copyBuilder.name = original.name
|
copyBuilder.name = original.name
|
||||||
|
copyBuilder.backingField = original.backingField
|
||||||
copyBuilder.annotations.addAll(original.annotations)
|
copyBuilder.annotations.addAll(original.annotations)
|
||||||
copyBuilder.symbol = original.symbol
|
copyBuilder.symbol = original.symbol
|
||||||
copyBuilder.defaultValue = original.defaultValue
|
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.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -49,6 +50,7 @@ internal class FirDefaultSetterValueParameter(
|
|||||||
override val isVal: Boolean,
|
override val isVal: Boolean,
|
||||||
override var getter: FirPropertyAccessor?,
|
override var getter: FirPropertyAccessor?,
|
||||||
override var setter: FirPropertyAccessor?,
|
override var setter: FirPropertyAccessor?,
|
||||||
|
override var backingField: FirBackingField?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val symbol: FirValueParameterSymbol,
|
override val symbol: FirValueParameterSymbol,
|
||||||
override var defaultValue: FirExpression?,
|
override var defaultValue: FirExpression?,
|
||||||
@@ -73,6 +75,7 @@ internal class FirDefaultSetterValueParameter(
|
|||||||
delegate?.accept(visitor, data)
|
delegate?.accept(visitor, data)
|
||||||
getter?.accept(visitor, data)
|
getter?.accept(visitor, data)
|
||||||
setter?.accept(visitor, data)
|
setter?.accept(visitor, data)
|
||||||
|
backingField?.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
controlFlowGraphReference?.accept(visitor, data)
|
controlFlowGraphReference?.accept(visitor, data)
|
||||||
defaultValue?.accept(visitor, data)
|
defaultValue?.accept(visitor, data)
|
||||||
@@ -86,6 +89,7 @@ internal class FirDefaultSetterValueParameter(
|
|||||||
transformDelegate(transformer, data)
|
transformDelegate(transformer, data)
|
||||||
transformGetter(transformer, data)
|
transformGetter(transformer, data)
|
||||||
transformSetter(transformer, data)
|
transformSetter(transformer, data)
|
||||||
|
transformBackingField(transformer, data)
|
||||||
transformOtherChildren(transformer, data)
|
transformOtherChildren(transformer, data)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -129,6 +133,11 @@ internal class FirDefaultSetterValueParameter(
|
|||||||
return this
|
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 {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||||
annotations.transformInplace(transformer, data)
|
annotations.transformInplace(transformer, data)
|
||||||
return this
|
return this
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -44,6 +45,7 @@ internal class FirEnumEntryImpl(
|
|||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
override var initializer: FirExpression?,
|
override var initializer: FirExpression?,
|
||||||
|
override var backingField: FirBackingField?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val symbol: FirEnumEntrySymbol,
|
override val symbol: FirEnumEntrySymbol,
|
||||||
) : FirEnumEntry() {
|
) : FirEnumEntry() {
|
||||||
@@ -63,6 +65,7 @@ internal class FirEnumEntryImpl(
|
|||||||
typeParameters.forEach { it.accept(visitor, data) }
|
typeParameters.forEach { it.accept(visitor, data) }
|
||||||
status.accept(visitor, data)
|
status.accept(visitor, data)
|
||||||
initializer?.accept(visitor, data)
|
initializer?.accept(visitor, data)
|
||||||
|
backingField?.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,6 +74,7 @@ internal class FirEnumEntryImpl(
|
|||||||
transformTypeParameters(transformer, data)
|
transformTypeParameters(transformer, data)
|
||||||
transformStatus(transformer, data)
|
transformStatus(transformer, data)
|
||||||
transformInitializer(transformer, data)
|
transformInitializer(transformer, data)
|
||||||
|
transformBackingField(transformer, data)
|
||||||
transformOtherChildren(transformer, data)
|
transformOtherChildren(transformer, data)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -111,6 +115,11 @@ internal class FirEnumEntryImpl(
|
|||||||
return this
|
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 {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||||
annotations.transformInplace(transformer, data)
|
annotations.transformInplace(transformer, data)
|
||||||
return this
|
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.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -43,6 +44,7 @@ internal class FirErrorPropertyImpl(
|
|||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
|
override var backingField: FirBackingField?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val diagnostic: ConeDiagnostic,
|
override val diagnostic: ConeDiagnostic,
|
||||||
override val symbol: FirErrorPropertySymbol,
|
override val symbol: FirErrorPropertySymbol,
|
||||||
@@ -65,12 +67,14 @@ internal class FirErrorPropertyImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
returnTypeRef.accept(visitor, data)
|
returnTypeRef.accept(visitor, data)
|
||||||
status.accept(visitor, data)
|
status.accept(visitor, data)
|
||||||
|
backingField?.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||||
transformReturnTypeRef(transformer, data)
|
transformReturnTypeRef(transformer, data)
|
||||||
transformStatus(transformer, data)
|
transformStatus(transformer, data)
|
||||||
|
transformBackingField(transformer, data)
|
||||||
transformOtherChildren(transformer, data)
|
transformOtherChildren(transformer, data)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -109,6 +113,11 @@ internal class FirErrorPropertyImpl(
|
|||||||
return this
|
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 {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||||
annotations.transformInplace(transformer, data)
|
annotations.transformInplace(transformer, data)
|
||||||
return this
|
return this
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
|||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -46,6 +47,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
|||||||
override val name: Name,
|
override val name: Name,
|
||||||
override var initializer: FirExpression?,
|
override var initializer: FirExpression?,
|
||||||
override val isVar: Boolean,
|
override val isVar: Boolean,
|
||||||
|
override var backingField: FirBackingField?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val symbol: FirFieldSymbol,
|
override val symbol: FirFieldSymbol,
|
||||||
) : FirField() {
|
) : FirField() {
|
||||||
@@ -64,6 +66,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
|||||||
typeParameters.forEach { it.accept(visitor, data) }
|
typeParameters.forEach { it.accept(visitor, data) }
|
||||||
status.accept(visitor, data)
|
status.accept(visitor, data)
|
||||||
initializer?.accept(visitor, data)
|
initializer?.accept(visitor, data)
|
||||||
|
backingField?.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,6 +75,7 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
|||||||
transformTypeParameters(transformer, data)
|
transformTypeParameters(transformer, data)
|
||||||
transformStatus(transformer, data)
|
transformStatus(transformer, data)
|
||||||
transformInitializer(transformer, data)
|
transformInitializer(transformer, data)
|
||||||
|
transformBackingField(transformer, data)
|
||||||
transformOtherChildren(transformer, data)
|
transformOtherChildren(transformer, data)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -112,6 +116,11 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
|||||||
return this
|
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 {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||||
annotations.transformInplace(transformer, data)
|
annotations.transformInplace(transformer, data)
|
||||||
return this
|
return this
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
|||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -52,6 +53,7 @@ internal class FirPropertyImpl(
|
|||||||
override val isVar: Boolean,
|
override val isVar: Boolean,
|
||||||
override var getter: FirPropertyAccessor?,
|
override var getter: FirPropertyAccessor?,
|
||||||
override var setter: FirPropertyAccessor?,
|
override var setter: FirPropertyAccessor?,
|
||||||
|
override var backingField: FirBackingField?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val symbol: FirPropertySymbol,
|
override val symbol: FirPropertySymbol,
|
||||||
override val delegateFieldSymbol: FirDelegateFieldSymbol?,
|
override val delegateFieldSymbol: FirDelegateFieldSymbol?,
|
||||||
@@ -77,6 +79,7 @@ internal class FirPropertyImpl(
|
|||||||
delegate?.accept(visitor, data)
|
delegate?.accept(visitor, data)
|
||||||
getter?.accept(visitor, data)
|
getter?.accept(visitor, data)
|
||||||
setter?.accept(visitor, data)
|
setter?.accept(visitor, data)
|
||||||
|
backingField?.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
controlFlowGraphReference?.accept(visitor, data)
|
controlFlowGraphReference?.accept(visitor, data)
|
||||||
typeParameters.forEach { it.accept(visitor, data) }
|
typeParameters.forEach { it.accept(visitor, data) }
|
||||||
@@ -90,6 +93,7 @@ internal class FirPropertyImpl(
|
|||||||
transformDelegate(transformer, data)
|
transformDelegate(transformer, data)
|
||||||
transformGetter(transformer, data)
|
transformGetter(transformer, data)
|
||||||
transformSetter(transformer, data)
|
transformSetter(transformer, data)
|
||||||
|
transformBackingField(transformer, data)
|
||||||
transformTypeParameters(transformer, data)
|
transformTypeParameters(transformer, data)
|
||||||
transformOtherChildren(transformer, data)
|
transformOtherChildren(transformer, data)
|
||||||
return this
|
return this
|
||||||
@@ -130,6 +134,11 @@ internal class FirPropertyImpl(
|
|||||||
return this
|
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 {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||||
annotations.transformInplace(transformer, data)
|
annotations.transformInplace(transformer, data)
|
||||||
return this
|
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.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsPerUseSite
|
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.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||||
@@ -43,6 +44,7 @@ internal class FirValueParameterImpl(
|
|||||||
override val containerSource: DeserializedContainerSource?,
|
override val containerSource: DeserializedContainerSource?,
|
||||||
override val dispatchReceiverType: ConeKotlinType?,
|
override val dispatchReceiverType: ConeKotlinType?,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
|
override var backingField: FirBackingField?,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
override val symbol: FirValueParameterSymbol,
|
override val symbol: FirValueParameterSymbol,
|
||||||
override var defaultValue: FirExpression?,
|
override var defaultValue: FirExpression?,
|
||||||
@@ -68,6 +70,7 @@ internal class FirValueParameterImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
returnTypeRef.accept(visitor, data)
|
returnTypeRef.accept(visitor, data)
|
||||||
status.accept(visitor, data)
|
status.accept(visitor, data)
|
||||||
|
backingField?.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
controlFlowGraphReference?.accept(visitor, data)
|
controlFlowGraphReference?.accept(visitor, data)
|
||||||
defaultValue?.accept(visitor, data)
|
defaultValue?.accept(visitor, data)
|
||||||
@@ -76,6 +79,7 @@ internal class FirValueParameterImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||||
transformReturnTypeRef(transformer, data)
|
transformReturnTypeRef(transformer, data)
|
||||||
transformStatus(transformer, data)
|
transformStatus(transformer, data)
|
||||||
|
transformBackingField(transformer, data)
|
||||||
transformOtherChildren(transformer, data)
|
transformOtherChildren(transformer, data)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -114,6 +118,11 @@ internal class FirValueParameterImpl(
|
|||||||
return this
|
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 {
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||||
annotations.transformInplace(transformer, data)
|
annotations.transformInplace(transformer, data)
|
||||||
return this
|
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.FirContractDescriptionOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
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.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.FirPackageDirective
|
import org.jetbrains.kotlin.fir.FirPackageDirective
|
||||||
@@ -280,6 +281,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
|||||||
return transformElement(propertyAccessor, data)
|
return transformElement(propertyAccessor, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun transformBackingField(backingField: FirBackingField, data: D): FirStatement {
|
||||||
|
return transformElement(backingField, data)
|
||||||
|
}
|
||||||
|
|
||||||
open fun transformConstructor(constructor: FirConstructor, data: D): FirStatement {
|
open fun transformConstructor(constructor: FirConstructor, data: D): FirStatement {
|
||||||
return transformElement(constructor, data)
|
return transformElement(constructor, data)
|
||||||
}
|
}
|
||||||
@@ -796,6 +801,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
|||||||
return transformPropertyAccessor(propertyAccessor, data)
|
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 {
|
final override fun visitConstructor(constructor: FirConstructor, data: D): FirStatement {
|
||||||
return transformConstructor(constructor, data)
|
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.FirContractDescriptionOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
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.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.FirPackageDirective
|
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 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 visitConstructor(constructor: FirConstructor, data: D): R = visitElement(constructor, data)
|
||||||
|
|
||||||
open fun visitFile(file: FirFile, data: D): R = visitElement(file, 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.FirContractDescriptionOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
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.FirConstructor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.FirPackageDirective
|
import org.jetbrains.kotlin.fir.FirPackageDirective
|
||||||
@@ -279,6 +280,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitElement(propertyAccessor)
|
visitElement(propertyAccessor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun visitBackingField(backingField: FirBackingField) {
|
||||||
|
visitElement(backingField)
|
||||||
|
}
|
||||||
|
|
||||||
open fun visitConstructor(constructor: FirConstructor) {
|
open fun visitConstructor(constructor: FirConstructor) {
|
||||||
visitElement(constructor)
|
visitElement(constructor)
|
||||||
}
|
}
|
||||||
@@ -795,6 +800,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitPropertyAccessor(propertyAccessor)
|
visitPropertyAccessor(propertyAccessor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitBackingField(backingField: FirBackingField, data: Nothing?) {
|
||||||
|
visitBackingField(backingField)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitConstructor(constructor: FirConstructor, data: Nothing?) {
|
final override fun visitConstructor(constructor: FirConstructor, data: Nothing?) {
|
||||||
visitConstructor(constructor)
|
visitConstructor(constructor)
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -30,6 +30,7 @@ class FirSyntheticProperty(
|
|||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val getter: FirSyntheticPropertyAccessor,
|
override val getter: FirSyntheticPropertyAccessor,
|
||||||
override val setter: FirSyntheticPropertyAccessor? = null,
|
override val setter: FirSyntheticPropertyAccessor? = null,
|
||||||
|
override val backingField: FirBackingField? = null,
|
||||||
override val deprecation: DeprecationsPerUseSite? = null
|
override val deprecation: DeprecationsPerUseSite? = null
|
||||||
) : FirProperty() {
|
) : FirProperty() {
|
||||||
init {
|
init {
|
||||||
@@ -122,6 +123,10 @@ class FirSyntheticProperty(
|
|||||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
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 {
|
override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirProperty {
|
||||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
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.contracts.FirResolvedContractDescription
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.symbols.AccessorSymbol
|
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.fir.symbols.ensureResolved
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -70,4 +71,6 @@ class FirAnonymousFunctionSymbol : FirFunctionWithoutNameSymbol<FirAnonymousFunc
|
|||||||
|
|
||||||
class FirPropertyAccessorSymbol : FirFunctionWithoutNameSymbol<FirPropertyAccessor>(Name.identifier("accessor"))
|
class FirPropertyAccessorSymbol : FirFunctionWithoutNameSymbol<FirPropertyAccessor>(Name.identifier("accessor"))
|
||||||
|
|
||||||
|
class FirPropertyFieldDeclarationSymbol() : FirBasedSymbol<FirBackingField>()
|
||||||
|
|
||||||
class FirErrorFunctionSymbol : FirFunctionWithoutNameSymbol<FirErrorFunction>(Name.identifier("error"))
|
class FirErrorFunctionSymbol : FirFunctionWithoutNameSymbol<FirErrorFunction>(Name.identifier("error"))
|
||||||
|
|||||||
+1
@@ -53,6 +53,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
|||||||
val contractDescriptionOwner = sealedElement("ContractDescriptionOwner", Declaration)
|
val contractDescriptionOwner = sealedElement("ContractDescriptionOwner", Declaration)
|
||||||
val simpleFunction = element("SimpleFunction", Declaration, function, contractDescriptionOwner, typeParametersOwner)
|
val simpleFunction = element("SimpleFunction", Declaration, function, contractDescriptionOwner, typeParametersOwner)
|
||||||
val propertyAccessor = element("PropertyAccessor", 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 constructor = element("Constructor", Declaration, function, typeParameterRefsOwner)
|
||||||
val file = element("File", Declaration, annotatedDeclaration)
|
val file = element("File", Declaration, annotatedDeclaration)
|
||||||
val packageDirective = element("PackageDirective", Other)
|
val packageDirective = element("PackageDirective", Other)
|
||||||
|
|||||||
+15
@@ -333,6 +333,20 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
+typeParameters
|
+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 {
|
declarationStatus.configure {
|
||||||
+visibility
|
+visibility
|
||||||
+modality
|
+modality
|
||||||
@@ -377,6 +391,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
generateBooleanFields("var", "val")
|
generateBooleanFields("var", "val")
|
||||||
+field("getter", propertyAccessor, nullable = true).withTransform()
|
+field("getter", propertyAccessor, nullable = true).withTransform()
|
||||||
+field("setter", propertyAccessor, nullable = true).withTransform()
|
+field("setter", propertyAccessor, nullable = true).withTransform()
|
||||||
|
+field("backingField", backingField, nullable = true).withTransform()
|
||||||
+annotations
|
+annotations
|
||||||
needTransformOtherChildren()
|
needTransformOtherChildren()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user