Use of uninitialized variables in lambdas / object literals / local functions is forbidden now #KT-4475 Fixed

Local declarations CFA: variable initialization information before them is now taken into account
This commit is contained in:
Mikhail Glukhikh
2015-11-11 13:05:40 +03:00
parent 89791dc85c
commit fe13f39de9
26 changed files with 245 additions and 105 deletions
+3 -2
View File
@@ -1,8 +1,9 @@
object RefreshQueue {
val any = Any()
val workerThread: Thread = Thread(object : Runnable {
override fun run() {
val a = workerThread
val b = RefreshQueue.workerThread
val a = any
val b = RefreshQueue.any
if (a != b) throw AssertionError()
}
})
+4 -1
View File
@@ -1,7 +1,10 @@
public object RefreshQueue {
private val any = Any()
private val workerThread: Thread = Thread(object : Runnable {
override fun run() {
workerThread.isInterrupted()
any.hashCode()
}
});