[FIR] Add transformContextReceivers() method to FirProperty
This commit is contained in:
committed by
teamcity
parent
f3fc5cbc42
commit
7ef2f7ccde
+1
@@ -325,6 +325,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
}
|
||||
|
||||
property.configure {
|
||||
+fieldList(contextReceiver, withReplace = true).withTransform()
|
||||
+symbol("FirPropertySymbol")
|
||||
+field("delegateFieldSymbol", delegateFieldSymbolType, nullable = true)
|
||||
+booleanField("isLocal")
|
||||
|
||||
+1
@@ -102,6 +102,7 @@ class Element(override val name: String, kind: Kind) : AbstractElement {
|
||||
existingField.needsSeparateTransform = existingField.needsSeparateTransform || parentField.needsSeparateTransform
|
||||
existingField.needTransformInOtherChildren = existingField.needTransformInOtherChildren || parentField.needTransformInOtherChildren
|
||||
existingField.withReplace = parentField.withReplace || existingField.withReplace
|
||||
existingField.parentHasSeparateTransform = parentField.needsSeparateTransform
|
||||
if (parentField.type != existingField.type && parentField.withReplace) {
|
||||
existingField.overridenTypes += parentField
|
||||
overridenFields[existingField, parentField] = false
|
||||
|
||||
+2
@@ -17,6 +17,7 @@ sealed class Field : Importable {
|
||||
|
||||
var fromParent: Boolean = false
|
||||
open var needsSeparateTransform: Boolean = false
|
||||
var parentHasSeparateTransform: Boolean = true
|
||||
open var needTransformInOtherChildren: Boolean = false
|
||||
|
||||
open val defaultValueInImplementation: String? get() = null
|
||||
@@ -46,6 +47,7 @@ sealed class Field : Importable {
|
||||
copy.useNullableForReplace = useNullableForReplace
|
||||
}
|
||||
copy.fromParent = fromParent
|
||||
copy.parentHasSeparateTransform = parentHasSeparateTransform
|
||||
}
|
||||
|
||||
protected abstract fun internalCopy(): Field
|
||||
|
||||
+1
-1
@@ -117,7 +117,7 @@ fun SmartPrinter.printElement(element: Element) {
|
||||
if (!field.needsSeparateTransform) continue
|
||||
println()
|
||||
abstract()
|
||||
if (field.fromParent) {
|
||||
if (field.fromParent && field.parentHasSeparateTransform) {
|
||||
print("override ")
|
||||
}
|
||||
println(field.transformFunctionDeclaration(typeWithArguments))
|
||||
|
||||
Reference in New Issue
Block a user