[FIR] Add REIFIED_TYPE_PARAMETER_IN_OVERRIDE diagnostic

This commit is contained in:
Andrey Zinovyev
2021-07-21 13:08:27 +03:00
committed by teamcityserver
parent 29dbaa4ae1
commit 38cecf8b12
9 changed files with 31 additions and 60 deletions
@@ -1,60 +0,0 @@
// !DIAGNOSTICS: -NOTHING_TO_INLINE -UNUSED_PARAMETER
interface IBase {
fun foo()
fun bar()
fun <T> qux(x: T)
}
class CDerived : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!OVERRIDE_BY_INLINE!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
class CNested : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!OVERRIDE_BY_INLINE!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
val anObject = object : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!OVERRIDE_BY_INLINE!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
fun aMethod() {
class CLocal : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!OVERRIDE_BY_INLINE!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
}
}
open class COpen : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!DECLARATION_CANT_BE_INLINED!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
open class COpenNested : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!DECLARATION_CANT_BE_INLINED!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
val anObject = object : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!OVERRIDE_BY_INLINE!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
fun aMethod() {
open class COpenLocal : IBase {
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!DECLARATION_CANT_BE_INLINED!>override inline fun bar()<!> {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -NOTHING_TO_INLINE -UNUSED_PARAMETER
interface IBase {