Calculate default mask shift properly

#KT-18689 Fixed
This commit is contained in:
Mikhael Bogdanov
2017-06-28 14:22:34 +02:00
parent 1fa7193901
commit 4f914fafca
12 changed files with 260 additions and 1 deletions
@@ -0,0 +1,21 @@
// FILE: 1.kt
package test
class Foo {
fun foo() = "OK"
}
inline fun inlineFn(crossinline fn: () -> String, x: Int? = 1): String {
return fn()
}
// FILE: 2.kt
import test.*
private val foo = Foo()
fun box(): String {
return inlineFn(foo::foo)
}
@@ -0,0 +1,21 @@
// FILE: 1.kt
package test
class Foo {
fun foo() = "O"
}
inline fun inlineFn(crossinline fn: () -> String, x: String = "K"): String {
return fn() + x
}
// FILE: 2.kt
import test.*
private val foo = Foo()
fun box(): String {
return inlineFn(foo::foo)
}
@@ -0,0 +1,21 @@
// FILE: 1.kt
package test
class Foo {
fun foo() = "O"
}
inline fun inlineFn(crossinline fn: () -> String, x: String = "X"): String {
return fn() + x
}
// FILE: 2.kt
import test.*
private val foo = Foo()
fun box(): String {
return inlineFn(foo::foo, "K")
}
@@ -0,0 +1,21 @@
// FILE: 1.kt
package test
class Foo {
fun foo() = "OK"
}
inline fun inlineFn(crossinline fn: () -> String, x: Long = 1L): String {
return fn()
}
// FILE: 2.kt
import test.*
private val foo = Foo()
fun box(): String {
return inlineFn(foo::foo)
}