K2 Scripting: add support for result field
This commit is contained in:
committed by
Space Team
parent
6c7751b0af
commit
d24fc3b581
@@ -31,6 +31,7 @@ abstract class FirScript : FirDeclaration() {
|
||||
abstract override val symbol: FirScriptSymbol
|
||||
abstract val parameters: List<FirVariable>
|
||||
abstract val contextReceivers: List<FirContextReceiver>
|
||||
abstract val resultPropertyName: Name?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitScript(this, data)
|
||||
|
||||
|
||||
+3
@@ -48,6 +48,7 @@ class FirScriptBuilder : FirAnnotationContainerBuilder {
|
||||
lateinit var symbol: FirScriptSymbol
|
||||
val parameters: MutableList<FirVariable> = mutableListOf()
|
||||
val contextReceivers: MutableList<FirContextReceiver> = mutableListOf()
|
||||
var resultPropertyName: Name? = null
|
||||
|
||||
override fun build(): FirScript {
|
||||
return FirScriptImpl(
|
||||
@@ -62,6 +63,7 @@ class FirScriptBuilder : FirAnnotationContainerBuilder {
|
||||
symbol,
|
||||
parameters,
|
||||
contextReceivers.toMutableOrEmpty(),
|
||||
resultPropertyName,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -92,5 +94,6 @@ inline fun buildScriptCopy(original: FirScript, init: FirScriptBuilder.() -> Uni
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.parameters.addAll(original.parameters)
|
||||
copyBuilder.contextReceivers.addAll(original.contextReceivers)
|
||||
copyBuilder.resultPropertyName = original.resultPropertyName
|
||||
return copyBuilder.apply(init).build()
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ internal class FirScriptImpl(
|
||||
override val symbol: FirScriptSymbol,
|
||||
override val parameters: MutableList<FirVariable>,
|
||||
override var contextReceivers: MutableOrEmptyList<FirContextReceiver>,
|
||||
override val resultPropertyName: Name?,
|
||||
) : FirScript() {
|
||||
init {
|
||||
symbol.bind(this)
|
||||
|
||||
Reference in New Issue
Block a user