Fix for KT-10885

Assignment as expression conversion: e.g int i = j = 0
This commit is contained in:
Simon Ogorodnik
2016-10-13 17:49:53 +03:00
parent d731f97c7d
commit e14a043b0a
18 changed files with 71 additions and 19 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
//expression
//statement
x &= 2
@@ -1,2 +1,2 @@
//expression
//statement
x = 2
@@ -0,0 +1,11 @@
public class AssignmentAsExpression {
private int field;
private int field2;
public void assign(int value) {
int v = field = value;
field = field2 = value;
int j;
int i = j = 0;
}
}
@@ -0,0 +1,14 @@
class AssignmentAsExpression {
private var field: Int = 0
private var field2: Int = 0
fun assign(value: Int) {
field = value
val v = field
field2 = value
field = field2
val j: Int
j = 0
val i = j
}
}
@@ -1,2 +1,2 @@
//expression
//statement
x /= 2
@@ -1,2 +1,2 @@
//expression
//statement
x -= 2
@@ -1,2 +1,2 @@
//expression
//statement
x *= 2
+1 -1
View File
@@ -1,2 +1,2 @@
//expression
//statement
x |= 2
@@ -1,2 +1,2 @@
//expression
//statement
x += 2
@@ -1,2 +1,2 @@
//expression
//statement
x %= 2
@@ -1,2 +1,2 @@
//expression
//statement
x <<= 2
@@ -1,2 +1,2 @@
//expression
//statement
x >>= 2
@@ -1,2 +1,2 @@
//expression
//statement
x >>>= 2
+1 -1
View File
@@ -1,2 +1,2 @@
//expression
//statement
x ^= 2