Fix for KT-8204: java.lang.VerifyError for super method invocation in inline function

#KT-8204 Fixed
This commit is contained in:
Michael Bogdanov
2015-11-11 11:22:15 +03:00
parent 04f7805d52
commit 5a8ead0092
14 changed files with 154 additions and 55 deletions
@@ -1,9 +1,8 @@
package test
/*TODO rollback when supported*/
/*private*/ val packageProp = "O"
private val packageProp = "O"
/*private*/ fun packageFun() = "K"
private fun packageFun() = "K"
internal inline fun packageInline(p: (String, String) -> String): String {
return p(packageProp, packageFun())
@@ -0,0 +1,5 @@
import test.*
fun box(): String {
return X.doTest()
}
@@ -0,0 +1,15 @@
package test
open class A {
open fun test() = "OK"
}
object X : A() {
override fun test(): String {
return "fail"
}
inline fun doTest(): String {
return super.test()
}
}
@@ -0,0 +1,5 @@
import test.*
fun box(): String {
return X.doTest()
}
@@ -0,0 +1,14 @@
package test
open class A {
open val test = "OK"
}
object X : A() {
override val test: String
get() = "fail"
inline fun doTest(): String {
return super.test
}
}