AbstractClosureAnnotator for IR.

This commit is contained in:
Dmitry Petrov
2016-09-05 15:54:04 +03:00
committed by Dmitry Petrov
parent ceeccfa1b7
commit ec2cfd2389
17 changed files with 387 additions and 19 deletions
@@ -60,8 +60,9 @@ interface IrElementVisitor<out R, in D> {
fun visitSingletonReference(expression: IrGetSingletonValue, data: D) = visitDeclarationReference(expression, data)
fun visitGetObjectValue(expression: IrGetObjectValue, data: D) = visitSingletonReference(expression, data)
fun visitGetEnumValue(expression: IrGetEnumValue, data: D) = visitSingletonReference(expression, data)
fun visitGetVariable(expression: IrGetVariable, data: D) = visitDeclarationReference(expression, data)
fun visitSetVariable(expression: IrSetVariable, data: D) = visitDeclarationReference(expression, data)
fun visitVariableAccess(expression: IrVariableAccessExpression, data: D) = visitDeclarationReference(expression, data)
fun visitGetVariable(expression: IrGetVariable, data: D) = visitVariableAccess(expression, data)
fun visitSetVariable(expression: IrSetVariable, data: D) = visitVariableAccess(expression, data)
fun visitBackingFieldReference(expression: IrBackingFieldExpression, data: D) = visitDeclarationReference(expression, data)
fun visitGetBackingField(expression: IrGetBackingField, data: D) = visitBackingFieldReference(expression, data)
fun visitSetBackingField(expression: IrSetBackingField, data: D) = visitBackingFieldReference(expression, data)
@@ -123,10 +123,13 @@ interface IrElementVisitorVoid : IrElementVisitor<Unit, Nothing?> {
fun visitGetEnumValue(expression: IrGetEnumValue) = visitSingletonReference(expression)
override fun visitGetEnumValue(expression: IrGetEnumValue, data: Nothing?) = visitGetEnumValue(expression)
fun visitGetVariable(expression: IrGetVariable) = visitDeclarationReference(expression)
fun visitVariableAccess(expression: IrVariableAccessExpression) = visitDeclarationReference(expression)
override fun visitVariableAccess(expression: IrVariableAccessExpression, data: Nothing?) = visitVariableAccess(expression)
fun visitGetVariable(expression: IrGetVariable) = visitVariableAccess(expression)
override fun visitGetVariable(expression: IrGetVariable, data: Nothing?) = visitGetVariable(expression)
fun visitSetVariable(expression: IrSetVariable) = visitDeclarationReference(expression)
fun visitSetVariable(expression: IrSetVariable) = visitVariableAccess(expression)
override fun visitSetVariable(expression: IrSetVariable, data: Nothing?) = visitSetVariable(expression)
fun visitBackingFieldReference(expression: IrBackingFieldExpression) = visitDeclarationReference(expression)