Fixes for KT-4991: Prefix/postfix expressions resolved to local extensions are not supported in codegen;

KT-4989: Verify error on local functions and extensions;
KT-4987: NegativeArraySizeException on local extension convention function on nullable Int

  #KT-4991 Fixed
  #KT-4989 Fixed
  #KT-4987 Fixed
This commit is contained in:
Michael Bogdanov
2014-10-03 14:36:13 +04:00
parent 0c11ca680e
commit 15043b3c6d
5 changed files with 89 additions and 13 deletions
@@ -0,0 +1,24 @@
class It(val id: String)
fun box(): String {
val projectId = "projectId"
val it = It("it")
fun selectMetaRunnerId(): String {
fun Int?.inc() = (this ?: 0) + 1
var counter: Int? = null
fun path(metaRunnerId: String) = counter != 2
while (true) {
val name = projectId + "_" + it.id + (if (counter == null) "" else "_$counter")
if (!path(name)) {
return name
}
counter++
}
}
val X = selectMetaRunnerId()
if (X != projectId + "_" + it.id + "_2") return "fail: $X"
return "OK"
}