Report missed INLINE_FROM_HIGHER_PLATFORM diagnostic for derived class

Inline function descriptor in derived class represented as FAKE_OVERRIDE.
 So we should find it in base class declaration
 (not interface cause inline function can't be virtual, but always final)
 and then check class version.

 #KT-29402 Fixed
This commit is contained in:
Mikhael Bogdanov
2019-01-21 14:00:44 +01:00
parent b03065b2ba
commit a020170a92
11 changed files with 219 additions and 45 deletions
@@ -19,21 +19,20 @@ var allInline: Int
class A {
inline fun inlineFun(p: () -> Unit) {
open class Base {
inline fun inlineFunBase(p: () -> Unit) {
p()
}
var inlineGetter: Int
var inlineGetterBase: Int
inline get() = 1
set(varue) { varue.hashCode() }
var inlineSetter: Int
var inlineSetterBase: Int
get() = 1
inline set(varue) { varue.hashCode() }
var allInline: Int
var allInlineBase: Int
inline get() = 1
inline set(varue) { varue.hashCode() }
}