Assignments to qualified expressions are supported in CF
This commit is contained in:
@@ -187,6 +187,11 @@ public class JetControlFlowProcessor {
|
||||
else if (left instanceof JetArrayAccessExpression) {
|
||||
JetArrayAccessExpression arrayAccessExpression = (JetArrayAccessExpression) left;
|
||||
visitAssignToArrayAccess(expression, arrayAccessExpression);
|
||||
} else if (left instanceof JetQualifiedExpression) {
|
||||
JetQualifiedExpression qualifiedExpression = (JetQualifiedExpression) left;
|
||||
value(qualifiedExpression.getReceiverExpression(), false, false);
|
||||
value(expression.getOperationReference(), false, false);
|
||||
builder.write(expression, left);
|
||||
} else {
|
||||
builder.unsupported(expression); // TODO
|
||||
}
|
||||
|
||||
@@ -8,6 +8,9 @@ fun assignments() : Unit {
|
||||
|
||||
val y = true && false
|
||||
val z = false && true
|
||||
|
||||
val t = new Test();
|
||||
t.x = 1
|
||||
}
|
||||
---------------------
|
||||
l0:
|
||||
@@ -40,6 +43,12 @@ l4:
|
||||
l5:
|
||||
r(false && true)
|
||||
w(z)
|
||||
r(new Test())
|
||||
w(t)
|
||||
r(1)
|
||||
r(t)
|
||||
r(=)
|
||||
w(t.x)
|
||||
l1:
|
||||
<END>
|
||||
error:
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
class Test {
|
||||
var x : Int;
|
||||
}
|
||||
|
||||
fun assignments() : Unit {
|
||||
var x = 1
|
||||
x = 2
|
||||
@@ -7,4 +11,7 @@ fun assignments() : Unit {
|
||||
|
||||
val y = true && false
|
||||
val z = false && true
|
||||
|
||||
val t = new Test();
|
||||
t.x = 1
|
||||
}
|
||||
Reference in New Issue
Block a user