[FIR] Add excessive delegated constructors to FIR tree
^KTIJ-25453 fixed Merge-request: KT-MR-10379 Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
This commit is contained in:
+58
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.expressions
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
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 FirMultiDelegatedConstructorCall : FirDelegatedConstructorCall() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val argumentList: FirArgumentList
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
abstract override val constructedTypeRef: FirTypeRef
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val calleeReference: FirReference
|
||||
abstract override val isThis: Boolean
|
||||
abstract override val isSuper: Boolean
|
||||
abstract val delegatedConstructorCalls: List<FirDelegatedConstructorCall>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitMultiDelegatedConstructorCall(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformMultiDelegatedConstructorCall(this, data) as E
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
|
||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||
|
||||
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||
|
||||
abstract override fun replaceConstructedTypeRef(newConstructedTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
abstract fun replaceDelegatedConstructorCalls(newDelegatedConstructorCalls: List<FirDelegatedConstructorCall>)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCall
|
||||
|
||||
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCall
|
||||
|
||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCall
|
||||
|
||||
abstract fun <D> transformDelegatedConstructorCalls(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCall
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.
|
||||
*/
|
||||
|
||||
@file:Suppress("DuplicatedCode")
|
||||
|
||||
package org.jetbrains.kotlin.fir.expressions.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArgumentList
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirMultiDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirMultiDelegatedConstructorCallImpl
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
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 FirMultiDelegatedConstructorCallBuilder : FirAnnotationContainerBuilder {
|
||||
val delegatedConstructorCalls: MutableList<FirDelegatedConstructorCall> = mutableListOf()
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
override fun build(): FirMultiDelegatedConstructorCall {
|
||||
return FirMultiDelegatedConstructorCallImpl(
|
||||
delegatedConstructorCalls,
|
||||
)
|
||||
}
|
||||
|
||||
@Deprecated("Modification of 'source' has no impact for FirMultiDelegatedConstructorCallBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override var source: KtSourceElement?
|
||||
get() = throw IllegalStateException()
|
||||
set(_) {
|
||||
throw IllegalStateException()
|
||||
}
|
||||
|
||||
@Deprecated("Modification of 'annotations' has no impact for FirMultiDelegatedConstructorCallBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildMultiDelegatedConstructorCall(init: FirMultiDelegatedConstructorCallBuilder.() -> Unit = {}): FirMultiDelegatedConstructorCall {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
return FirMultiDelegatedConstructorCallBuilder().apply(init).build()
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.
|
||||
*/
|
||||
|
||||
@file:Suppress("DuplicatedCode")
|
||||
|
||||
package org.jetbrains.kotlin.fir.expressions.impl
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArgumentList
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirMultiDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.fir.MutableOrEmptyList
|
||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
class FirMultiDelegatedConstructorCallImpl @FirImplementationDetail constructor(
|
||||
override val delegatedConstructorCalls: MutableList<FirDelegatedConstructorCall>,
|
||||
) : FirMultiDelegatedConstructorCall() {
|
||||
override val source: KtSourceElement? get() = delegatedConstructorCalls.last().source
|
||||
override val annotations: List<FirAnnotation> get() = delegatedConstructorCalls.last().annotations
|
||||
override val argumentList: FirArgumentList get() = delegatedConstructorCalls.last().argumentList
|
||||
override val contextReceiverArguments: List<FirExpression> get() = delegatedConstructorCalls.last().contextReceiverArguments
|
||||
override val constructedTypeRef: FirTypeRef get() = delegatedConstructorCalls.last().constructedTypeRef
|
||||
override val dispatchReceiver: FirExpression get() = delegatedConstructorCalls.last().dispatchReceiver
|
||||
override val calleeReference: FirReference get() = delegatedConstructorCalls.last().calleeReference
|
||||
override val isThis: Boolean get() = delegatedConstructorCalls.last().isThis
|
||||
override val isSuper: Boolean get() = !isThis
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
delegatedConstructorCalls.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCallImpl {
|
||||
transformDelegatedConstructorCalls(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCallImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCallImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCallImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformDelegatedConstructorCalls(transformer: FirTransformer<D>, data: D): FirMultiDelegatedConstructorCallImpl {
|
||||
delegatedConstructorCalls.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {}
|
||||
|
||||
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {}
|
||||
|
||||
override fun replaceConstructedTypeRef(newConstructedTypeRef: FirTypeRef) {}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirReference) {}
|
||||
|
||||
override fun replaceDelegatedConstructorCalls(newDelegatedConstructorCalls: List<FirDelegatedConstructorCall>) {
|
||||
delegatedConstructorCalls.clear()
|
||||
delegatedConstructorCalls.addAll(newDelegatedConstructorCalls)
|
||||
}
|
||||
}
|
||||
@@ -105,6 +105,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirIntegerLiteralOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirImplicitInvokeCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirMultiDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirComponentCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
||||
@@ -240,6 +241,8 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
|
||||
|
||||
override fun visitImplicitInvokeCall(implicitInvokeCall: FirImplicitInvokeCall, data: D): R = visitFunctionCall(implicitInvokeCall, data)
|
||||
|
||||
override fun visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall, data: D): R = visitDelegatedConstructorCall(multiDelegatedConstructorCall, data)
|
||||
|
||||
override fun visitComponentCall(componentCall: FirComponentCall, data: D): R = visitFunctionCall(componentCall, data)
|
||||
|
||||
override fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess, data: D): R = visitQualifiedAccessExpression(callableReferenceAccess, data)
|
||||
|
||||
@@ -105,6 +105,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirIntegerLiteralOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirImplicitInvokeCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirMultiDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirComponentCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
||||
@@ -240,6 +241,8 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
|
||||
|
||||
override fun visitImplicitInvokeCall(implicitInvokeCall: FirImplicitInvokeCall) = visitFunctionCall(implicitInvokeCall)
|
||||
|
||||
override fun visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall) = visitDelegatedConstructorCall(multiDelegatedConstructorCall)
|
||||
|
||||
override fun visitComponentCall(componentCall: FirComponentCall) = visitFunctionCall(componentCall)
|
||||
|
||||
override fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess) = visitQualifiedAccessExpression(callableReferenceAccess)
|
||||
|
||||
@@ -105,6 +105,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirIntegerLiteralOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirImplicitInvokeCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirMultiDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirComponentCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
||||
@@ -561,6 +562,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(delegatedConstructorCall, data)
|
||||
}
|
||||
|
||||
open fun transformMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall, data: D): FirStatement {
|
||||
return transformElement(multiDelegatedConstructorCall, data)
|
||||
}
|
||||
|
||||
open fun transformComponentCall(componentCall: FirComponentCall, data: D): FirStatement {
|
||||
return transformElement(componentCall, data)
|
||||
}
|
||||
@@ -1161,6 +1166,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformDelegatedConstructorCall(delegatedConstructorCall, data)
|
||||
}
|
||||
|
||||
final override fun visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall, data: D): FirStatement {
|
||||
return transformMultiDelegatedConstructorCall(multiDelegatedConstructorCall, data)
|
||||
}
|
||||
|
||||
final override fun visitComponentCall(componentCall: FirComponentCall, data: D): FirStatement {
|
||||
return transformComponentCall(componentCall, data)
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirIntegerLiteralOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirImplicitInvokeCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirMultiDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirComponentCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
||||
@@ -362,6 +363,8 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitDelegatedConstructorCall(delegatedConstructorCall: FirDelegatedConstructorCall, data: D): R = visitElement(delegatedConstructorCall, data)
|
||||
|
||||
open fun visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall, data: D): R = visitElement(multiDelegatedConstructorCall, data)
|
||||
|
||||
open fun visitComponentCall(componentCall: FirComponentCall, data: D): R = visitElement(componentCall, data)
|
||||
|
||||
open fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess, data: D): R = visitElement(callableReferenceAccess, data)
|
||||
|
||||
@@ -105,6 +105,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirIntegerLiteralOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirImplicitInvokeCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirMultiDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirComponentCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
||||
@@ -560,6 +561,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(delegatedConstructorCall)
|
||||
}
|
||||
|
||||
open fun visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall) {
|
||||
visitElement(multiDelegatedConstructorCall)
|
||||
}
|
||||
|
||||
open fun visitComponentCall(componentCall: FirComponentCall) {
|
||||
visitElement(componentCall)
|
||||
}
|
||||
@@ -1160,6 +1165,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitDelegatedConstructorCall(delegatedConstructorCall)
|
||||
}
|
||||
|
||||
final override fun visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall, data: Nothing?) {
|
||||
visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall)
|
||||
}
|
||||
|
||||
final override fun visitComponentCall(componentCall: FirComponentCall, data: Nothing?) {
|
||||
visitComponentCall(componentCall)
|
||||
}
|
||||
|
||||
@@ -726,6 +726,18 @@ class FirRenderer(
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitMultiDelegatedConstructorCall(multiDelegatedConstructorCall: FirMultiDelegatedConstructorCall) {
|
||||
var first = true
|
||||
for (delegatedConstructorCall in multiDelegatedConstructorCall.delegatedConstructorCalls) {
|
||||
if (first) {
|
||||
first = false
|
||||
} else {
|
||||
printer.println()
|
||||
}
|
||||
visitDelegatedConstructorCall(delegatedConstructorCall)
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitTypeRef(typeRef: FirTypeRef) {
|
||||
annotationRenderer?.render(typeRef)
|
||||
visitElement(typeRef)
|
||||
|
||||
+1
@@ -129,6 +129,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val integerLiteralOperatorCall by element(Expression, functionCall)
|
||||
val implicitInvokeCall by element(Expression, functionCall)
|
||||
val delegatedConstructorCall by element(Expression, resolvable, call, contextReceiverArgumentListOwner)
|
||||
val multiDelegatedConstructorCall by element(Expression, delegatedConstructorCall)
|
||||
val componentCall by element(Expression, functionCall)
|
||||
val callableReferenceAccess by element(Expression, qualifiedAccessExpression)
|
||||
val thisReceiverExpression by element(Expression, qualifiedAccessExpression)
|
||||
|
||||
+40
@@ -129,6 +129,46 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
useTypes(explicitThisReferenceType, explicitSuperReferenceType)
|
||||
}
|
||||
|
||||
impl(multiDelegatedConstructorCall) {
|
||||
default("source") {
|
||||
value = "delegatedConstructorCalls.last().source"
|
||||
withGetter = true
|
||||
}
|
||||
default("annotations") {
|
||||
value = "delegatedConstructorCalls.last().annotations"
|
||||
withGetter = true
|
||||
}
|
||||
default("argumentList") {
|
||||
value = "delegatedConstructorCalls.last().argumentList"
|
||||
withGetter = true
|
||||
}
|
||||
default("contextReceiverArguments") {
|
||||
value = "delegatedConstructorCalls.last().contextReceiverArguments"
|
||||
withGetter = true
|
||||
}
|
||||
default("constructedTypeRef") {
|
||||
value = "delegatedConstructorCalls.last().constructedTypeRef"
|
||||
withGetter = true
|
||||
}
|
||||
default("dispatchReceiver") {
|
||||
value = "delegatedConstructorCalls.last().dispatchReceiver"
|
||||
withGetter = true
|
||||
}
|
||||
default("calleeReference") {
|
||||
value = "delegatedConstructorCalls.last().calleeReference"
|
||||
withGetter = true
|
||||
}
|
||||
default("isThis") {
|
||||
value = "delegatedConstructorCalls.last().isThis"
|
||||
withGetter = true
|
||||
}
|
||||
default("isSuper") {
|
||||
value = "!isThis"
|
||||
withGetter = true
|
||||
}
|
||||
publicImplementation()
|
||||
}
|
||||
|
||||
impl(delegatedConstructorCall, "FirLazyDelegatedConstructorCall") {
|
||||
val error = """error("FirLazyDelegatedConstructorCall should be calculated before accessing")"""
|
||||
default("source") {
|
||||
|
||||
+4
@@ -418,6 +418,10 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
generateBooleanFields("this", "super")
|
||||
}
|
||||
|
||||
multiDelegatedConstructorCall.configure {
|
||||
+fieldList("delegatedConstructorCalls", delegatedConstructorCall, withReplace = true).withTransform()
|
||||
}
|
||||
|
||||
valueParameter.configure {
|
||||
+symbol("FirValueParameterSymbol")
|
||||
+field("defaultValue", expression, nullable = true, withReplace = true)
|
||||
|
||||
Reference in New Issue
Block a user