[FIR] Add FirBackingField
This commit is contained in:
committed by
TeamCityServer
parent
a0982341ee
commit
ee58df6b3c
+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