[EE-IR] Support mutations by evaluator fragments
- box captured variables using `Ref`s, the same mechanism that's used for shared variables in closures.
This commit is contained in:
committed by
Alexander Udalov
parent
3ccbd25856
commit
be1c0bb9c1
+3
-2
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.ir.declarations.IrVariable
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrGetValue
|
||||
import org.jetbrains.kotlin.ir.expressions.IrSetValue
|
||||
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol
|
||||
|
||||
interface SharedVariablesManager {
|
||||
@@ -17,7 +18,7 @@ interface SharedVariablesManager {
|
||||
|
||||
fun defineSharedValue(originalDeclaration: IrVariable, sharedVariableDeclaration: IrVariable): IrStatement
|
||||
|
||||
fun getSharedValue(sharedVariableSymbol: IrVariableSymbol, originalGet: IrGetValue): IrExpression
|
||||
fun getSharedValue(sharedVariableSymbol: IrValueSymbol, originalGet: IrGetValue): IrExpression
|
||||
|
||||
fun setSharedValue(sharedVariableSymbol: IrVariableSymbol, originalSet: IrSetValue): IrExpression
|
||||
fun setSharedValue(sharedVariableSymbol: IrValueSymbol, originalSet: IrSetValue): IrExpression
|
||||
}
|
||||
Reference in New Issue
Block a user