Detect recursive property accessors #KT-17221 Fixed

This commit is contained in:
Dmitry Neverov
2017-05-12 06:02:57 +02:00
committed by Mikhail Glukhikh
parent 20f5023c48
commit 3b4dafe691
12 changed files with 376 additions and 0 deletions
@@ -0,0 +1,27 @@
class A {
var x = 0
set(value) {
<lineMarker descr="Recursive call">x</lineMarker>++
<lineMarker descr="Recursive call">x</lineMarker>+=1
<lineMarker descr="Recursive call">x</lineMarker> = value
}
var y = 0
get() {
println("$<lineMarker descr="Recursive call">y</lineMarker>")
<lineMarker descr="Recursive call">y</lineMarker>++
<lineMarker descr="Recursive call">y</lineMarker> += 1
return <lineMarker descr="Recursive call">y</lineMarker>
}
var z = 0
get() = <lineMarker descr="Recursive call">z</lineMarker>
var field = 0
get() {
return if (field != 0) field else -1
}
set(value) {
if (value >= 0) field = value
}
}