[FIR] Add OVERRIDE_BY_INLINE diagnostic

This commit is contained in:
Andrey Zinovyev
2021-07-21 11:51:53 +03:00
committed by teamcityserver
parent d8b7b7b2dc
commit 29dbaa4ae1
13 changed files with 91 additions and 67 deletions
@@ -40,7 +40,7 @@ abstract class Base {
}
class Derived : Base() {
override final inline fun foo(<!NOT_YET_SUPPORTED_IN_INLINE!>f: () -> Unit<!>) {
<!OVERRIDE_BY_INLINE!>override final inline fun foo(<!NOT_YET_SUPPORTED_IN_INLINE!>f: () -> Unit<!>)<!> {
f()
}
}
@@ -39,7 +39,7 @@ abstract class Base {
}
class Derived : Base() {
override final inline fun foo(<!NOT_YET_SUPPORTED_IN_INLINE!>f: () -> Unit<!>) {
<!OVERRIDE_BY_INLINE!>override final inline fun foo(<!NOT_YET_SUPPORTED_IN_INLINE!>f: () -> Unit<!>)<!> {
f()
}
}
@@ -12,7 +12,7 @@ abstract class Base {
}
class Derived : Base() {
override final inline fun withDefault(
<!OVERRIDE_BY_INLINE!>override final inline fun withDefault(
<!NOT_YET_SUPPORTED_IN_INLINE!>f: () -> Unit<!>
) {}
)<!> {}
}
@@ -7,53 +7,53 @@ interface IBase {
}
class CDerived : IBase {
override inline final fun foo() {}
override inline fun bar() {}
override inline final fun <reified T> qux(x: T) {}
<!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 inline final fun foo() {}
override inline fun bar() {}
override inline final fun <reified T> qux(x: T) {}
<!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 inline final fun foo() {}
override inline fun bar() {}
override inline final fun <reified T> qux(x: T) {}
<!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 inline final fun foo() {}
override inline fun bar() {}
override inline final fun <reified T> qux(x: T) {}
<!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 inline final fun foo() {}
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!DECLARATION_CANT_BE_INLINED!>override inline fun bar()<!> {}
override inline final fun <reified T> qux(x: T) {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
open class COpenNested : IBase {
override inline final fun foo() {}
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!DECLARATION_CANT_BE_INLINED!>override inline fun bar()<!> {}
override inline final fun <reified T> qux(x: T) {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
val anObject = object : IBase {
override inline final fun foo() {}
override inline fun bar() {}
override inline final fun <reified T> qux(x: T) {}
<!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 inline final fun foo() {}
<!OVERRIDE_BY_INLINE!>override inline final fun foo()<!> {}
<!DECLARATION_CANT_BE_INLINED!>override inline fun bar()<!> {}
override inline final fun <reified T> qux(x: T) {}
<!OVERRIDE_BY_INLINE!>override inline final fun <reified T> qux(x: T)<!> {}
}
}
}
@@ -27,7 +27,7 @@ open class Base {
}
class Derived: Base() {
inline final override fun foo(<!NOT_YET_SUPPORTED_IN_INLINE!>a: Int<!>) {
<!OVERRIDE_BY_INLINE!>inline final override fun foo(<!NOT_YET_SUPPORTED_IN_INLINE!>a: Int<!>)<!> {
}
}