[FIR/IR generator] Factor out walkableChildren and transformableChildren
This commit is contained in:
committed by
Space Team
parent
13ae129505
commit
c6eb7d6c21
-1
@@ -112,7 +112,6 @@ class FieldWithDefault(val origin: Field) : Field() {
|
||||
override var withGetter: Boolean = false
|
||||
override var customSetter: String? = null
|
||||
override var fromDelegate: Boolean = false
|
||||
var needAcceptAndTransform: Boolean = true
|
||||
override val overridenTypes: MutableSet<TypeRefWithNullability>
|
||||
get() = origin.overridenTypes
|
||||
|
||||
|
||||
-6
@@ -64,12 +64,6 @@ class Implementation(val element: Element, val name: String?) : FieldContainer,
|
||||
override val hasTransformChildrenMethod: Boolean
|
||||
get() = true
|
||||
|
||||
override val walkableChildren: List<FieldWithDefault>
|
||||
get() = allFields.filter { it.containsElement && !it.withGetter && it.needAcceptAndTransform }
|
||||
|
||||
override val transformableChildren: List<FieldWithDefault>
|
||||
get() = walkableChildren.filter { it.isMutable }
|
||||
|
||||
override fun get(fieldName: String): FieldWithDefault? {
|
||||
return allFields.firstOrNull { it.name == fieldName }
|
||||
}
|
||||
|
||||
+2
@@ -159,6 +159,7 @@ fun SmartPrinter.printImplementation(implementation: Implementation) {
|
||||
println()
|
||||
withIndent {
|
||||
for (field in walkableFields) {
|
||||
check(field is FieldWithDefault)
|
||||
when (field.name) {
|
||||
"explicitReceiver" -> {
|
||||
val explicitReceiver = implementation["explicitReceiver"]!!
|
||||
@@ -225,6 +226,7 @@ fun SmartPrinter.printImplementation(implementation: Implementation) {
|
||||
if (!isInterface && !isAbstract) {
|
||||
printBlock {
|
||||
for (field in transformableChildren) {
|
||||
check(field is FieldWithDefault)
|
||||
when {
|
||||
field.name == "explicitReceiver" -> {
|
||||
val explicitReceiver = implementation["explicitReceiver"]!!
|
||||
|
||||
Reference in New Issue
Block a user