Fixes for KT-4733 UnsupportedOperationException: don't know how to move type J to top of stack; KT-3430 VerifyError on a safe call to a primitive value

#KT-4733 Fixed
  #KT-3430 Fixed
This commit is contained in:
Michael Bogdanov
2014-10-06 13:47:11 +04:00
parent 8cafea9f5a
commit e6c98078b3
4 changed files with 47 additions and 1 deletions
@@ -0,0 +1,6 @@
fun f(b : Int.(Int)->Int) = 1?.b(1)
fun box(): String {
val x = f { this + it }
return "OK"
}
@@ -0,0 +1,27 @@
class Test {
val Long.foo: Long
get() = this + 1
val Int.foo: Int
get() = this + 1
fun testLong(): Long? {
var s: Long? = 10;
return s?.foo
}
fun testInt(): Int? {
var s: Int? = 11;
return s?.foo
}
}
fun box(): String {
val s = Test()
if (s.testLong() != 11.toLong()) return "fail 1"
if (s.testInt() != 12) return "fail 1"
return "OK"
}