[FIR] Support diagnostic ABSTRACT_SUPER_CALL

This commit is contained in:
Nick
2020-04-11 14:29:50 +03:00
committed by Mikhail Glukhikh
parent 8960829c01
commit c4b7ac994b
12 changed files with 215 additions and 13 deletions
@@ -22,9 +22,9 @@ class C() : D() {
class B() : A() {
override fun foo(): Int {
super.i
super.<!ABSTRACT_SUPER_CALL!>i<!>
super.fff() //everything is ok
return super.foo() //no error!!
return super.<!ABSTRACT_SUPER_CALL!>foo<!>()
}
}
@@ -18,8 +18,8 @@ open class B : A() {
super.foo2("123")
super.foo2()
super.foo3("123")
super.foo3()
super.<!ABSTRACT_SUPER_CALL!>foo3<!>("123")
super.<!ABSTRACT_SUPER_CALL!>foo3<!>()
}
override fun foo3(a: String) {
@@ -9,7 +9,7 @@ expect open class BaseAImpl() : BaseA
class DerivedA1 : BaseAImpl()
class DerivedA2 : BaseAImpl() {
override fun foo() = super.foo()
override fun foo() = super.<!ABSTRACT_SUPER_CALL!>foo<!>()
}
@@ -21,7 +21,7 @@ expect open class BaseBImpl() : BaseB
class DerivedB1 : BaseBImpl()
class DerivedB2 : BaseBImpl() {
override fun foo() = super.foo()
override fun foo() = super.<!ABSTRACT_SUPER_CALL!>foo<!>()
}
@@ -33,7 +33,7 @@ expect abstract class BaseCImpl() : BaseC
class DerivedC1 : BaseCImpl()
class DerivedC2 : BaseCImpl() {
override fun foo() = super.foo()
override fun foo() = super.<!ABSTRACT_SUPER_CALL!>foo<!>()
}
@@ -42,7 +42,7 @@ expect interface BaseD {
fun foo()
}
abstract class BaseDImpl() : BaseD {
fun bar() = super.foo()
fun bar() = super.<!ABSTRACT_SUPER_CALL!>foo<!>()
}
@@ -51,7 +51,7 @@ expect interface BaseE {
fun foo()
}
sealed class BaseEImpl() : BaseE {
fun bar() = super.foo()
fun bar() = super.<!ABSTRACT_SUPER_CALL!>foo<!>()
}
@@ -25,8 +25,8 @@ class B : A(), I {
override val y: Int = super.y
override fun foo(): Int {
super.foo()
return super.x
super.<!ABSTRACT_SUPER_CALL!>foo<!>()
return super.<!ABSTRACT_SUPER_CALL!>x<!>
}
override fun bar() {