diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformer.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformer.kt index f4c50698600..03ba316c0df 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformer.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformer.kt @@ -102,7 +102,9 @@ interface IrElementTransformer : IrElementVisitor { override fun visitFieldAccess(expression: IrFieldAccessExpression, data: D) = visitDeclarationReference(expression, data) override fun visitGetField(expression: IrGetField, data: D) = visitFieldAccess(expression, data) override fun visitSetField(expression: IrSetField, data: D) = visitFieldAccess(expression, data) - override fun visitMemberAccess(expression: IrMemberAccessExpression<*>, data: D): IrElement = visitExpression(expression, data) + override fun visitMemberAccess(expression: IrMemberAccessExpression<*>, data: D): IrElement = + visitDeclarationReference(expression, data) + override fun visitFunctionAccess(expression: IrFunctionAccessExpression, data: D): IrElement = visitMemberAccess(expression, data) override fun visitCall(expression: IrCall, data: D) = visitFunctionAccess(expression, data) override fun visitConstructorCall(expression: IrConstructorCall, data: D): IrElement = visitFunctionAccess(expression, data) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformerVoid.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformerVoid.kt index 057e348254d..1e0eaf13f05 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformerVoid.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementTransformerVoid.kt @@ -189,7 +189,7 @@ abstract class IrElementTransformerVoid : IrElementTransformer { open fun visitSetField(expression: IrSetField) = visitFieldAccess(expression) final override fun visitSetField(expression: IrSetField, data: Nothing?) = visitSetField(expression) - open fun visitMemberAccess(expression: IrMemberAccessExpression<*>) = visitExpression(expression) + open fun visitMemberAccess(expression: IrMemberAccessExpression<*>) = visitDeclarationReference(expression) final override fun visitMemberAccess(expression: IrMemberAccessExpression<*>, data: Nothing?) = visitMemberAccess(expression) open fun visitFunctionAccess(expression: IrFunctionAccessExpression) = visitMemberAccess(expression) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitor.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitor.kt index deca5b4854b..b76ae7c4c9c 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitor.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitor.kt @@ -72,7 +72,7 @@ interface IrElementVisitor { fun visitGetField(expression: IrGetField, data: D) = visitFieldAccess(expression, data) fun visitSetField(expression: IrSetField, data: D) = visitFieldAccess(expression, data) - fun visitMemberAccess(expression: IrMemberAccessExpression<*>, data: D) = visitExpression(expression, data) + fun visitMemberAccess(expression: IrMemberAccessExpression<*>, data: D) = visitDeclarationReference(expression, data) fun visitFunctionAccess(expression: IrFunctionAccessExpression, data: D) = visitMemberAccess(expression, data) fun visitCall(expression: IrCall, data: D) = visitFunctionAccess(expression, data) fun visitConstructorCall(expression: IrConstructorCall, data: D) = visitFunctionAccess(expression, data) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid.kt index f08d36babff..59cc860b1bb 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid.kt @@ -155,7 +155,7 @@ interface IrElementVisitorVoid : IrElementVisitor { fun visitSetField(expression: IrSetField) = visitFieldAccess(expression) override fun visitSetField(expression: IrSetField, data: Nothing?) = visitSetField(expression) - fun visitMemberAccess(expression: IrMemberAccessExpression<*>) = visitExpression(expression) + fun visitMemberAccess(expression: IrMemberAccessExpression<*>) = visitDeclarationReference(expression) override fun visitMemberAccess(expression: IrMemberAccessExpression<*>, data: Nothing?) = visitMemberAccess(expression) fun visitFunctionAccess(expression: IrFunctionAccessExpression) = visitMemberAccess(expression)