| // RUN_PIPELINE_TILL: FRONTEND |
| // LANGUAGE: -ForbidSuperDelegationToAbstractFakeOverride -ForbidSuperDelegationToAbstractAnyMethod |
| interface Foo { |
| fun check(): String = "OK" |
| } |
| abstract class Base { |
| abstract fun check(): String |
| } |
| abstract class Derived : Base(), Foo |
| |
| class Derived2 : Derived() { |
| override fun check(): String { |
| super<Derived>.<!ABSTRACT_SUPER_CALL_WARNING!>check<!>() |
| return super.<!ABSTRACT_SUPER_CALL_WARNING!>check<!>() |
| } |
| } |
| |
| abstract class A { |
| abstract override fun hashCode(): Int |
| } |
| |
| interface I |
| |
| class B : A(), I { // I is necessary here |
| override fun hashCode() = super.<!ABSTRACT_SUPER_CALL_WARNING!>hashCode<!>() |
| } |
| |
| /* GENERATED_FIR_TAGS: classDeclaration, functionDeclaration, interfaceDeclaration, override, stringLiteral, |
| superExpression */ |