Fix in read/write detection

This commit is contained in:
Valentin Kipyatkov
2015-08-17 22:13:55 +03:00
parent 5e97387e8d
commit 97bf6f820a
5 changed files with 13 additions and 13 deletions
@@ -316,8 +316,8 @@ public enum class ReferenceAccess {
public fun JetExpression.readWriteAccess(): ReferenceAccess { public fun JetExpression.readWriteAccess(): ReferenceAccess {
var expression = getQualifiedExpressionForSelectorOrThis() var expression = getQualifiedExpressionForSelectorOrThis()
while (expression.parent is JetParenthesizedExpression) { while (expression.parent is JetParenthesizedExpression || expression.parent is JetAnnotatedExpression) {
expression = expression.parent as JetParenthesizedExpression expression = expression.parent as JetExpression
} }
val assignment = expression.getAssignmentByLHS() val assignment = expression.getAssignmentByLHS()
+3 -3
View File
@@ -3,11 +3,11 @@
// OPTIONS: skipWrite // OPTIONS: skipWrite
fun foo() { fun foo() {
var <caret>v = 1 var <caret>v = 1
v = 2 (@X v) = 2
print(v) print(v)
++v ++ @X v
v-- v--
print(-v) print(-v)
v += 1 v += 1
v -= 1 (v) -= 1
} }
@@ -1,6 +1,6 @@
Value read (10: 12) print(-v) Value read (10: 12) print(-v)
Value read (7: 11) print(v) Value read (7: 11) print(v)
Value write (11: 5) v += 1 Value write (11: 5) v += 1
Value write (12: 5) v -= 1 Value write (12: 6) (v) -= 1
Value write (8: 7) ++v Value write (8: 11) ++ @X v
Value write (9: 5) v-- Value write (9: 5) v--
+3 -3
View File
@@ -3,11 +3,11 @@
// OPTIONS: skipRead // OPTIONS: skipRead
fun foo() { fun foo() {
var <caret>v = 1 var <caret>v = 1
v = 2 (@X v) = 2
print(v) print(v)
++v ++ @X v
v-- v--
print(-v) print(-v)
v += 1 v += 1
v -= 1 (v) -= 1
} }
@@ -1,5 +1,5 @@
Value write (11: 5) v += 1 Value write (11: 5) v += 1
Value write (12: 5) v -= 1 Value write (12: 6) (v) -= 1
Value write (6: 5) v = 2 Value write (6: 9) (@X v) = 2
Value write (8: 7) ++v Value write (8: 11) ++ @X v
Value write (9: 5) v-- Value write (9: 5) v--