From c9c94a59d3e11797ba4db218dee3f138cb4cd47c Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 10 Jun 2014 14:16:51 +0400 Subject: [PATCH] Pseudocode: Copy value of JetThisExpression to enclosed JetSimpleNameExpression --- .../src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java | 2 ++ .../properties/backingFieldQualifiedWithThis.values | 1 + 2 files changed, 3 insertions(+) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java index e3022b6de9b..844abbb8162 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java @@ -296,6 +296,8 @@ public class JetControlFlowProcessor { if (resultingDescriptor instanceof ReceiverParameterDescriptor) { builder.readThis(expression, (ReceiverParameterDescriptor) resultingDescriptor); } + + copyValue(expression, expression.getInstanceReference()); } @Override diff --git a/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values b/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values index 21072d45bf9..1e5f253264f 100644 --- a/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values +++ b/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values @@ -9,6 +9,7 @@ abstract class Bar { fun foo() = "foo" + this.$bar --------------------- "foo" NEW() +this COPY this NEW() $bar NEW() this.$bar COPY