FIR: use Java 8 rules in not implemented checker

This commit is contained in:
Mikhail Glukhikh
2021-04-06 09:47:02 +03:00
parent 5de8401494
commit 84ccf7bbb1
19 changed files with 171 additions and 53 deletions
@@ -8,11 +8,11 @@ interface IRight {
fun foo() {}
}
class CDerived : ALeft(), IRight
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class CDerived<!> : ALeft(), IRight
abstract class CAbstract : ALeft(), IRight
class CDerivedFromAbstract : CAbstract()
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class CDerivedFromAbstract<!> : CAbstract()
interface ILeft {
fun foo()
@@ -21,10 +21,10 @@ interface ILeft {
abstract class AILeft : ILeft
// Should be ERROR
class AILeftImpl : AILeft(), IRight
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class AILeftImpl<!> : AILeft(), IRight
// Should be ERROR
class RightLeft : ILeft, IRight
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class RightLeft<!> : ILeft, IRight
interface IBase {
fun foo()
@@ -8,11 +8,11 @@ interface IRight {
fun foo() {}
}
class CDerived : ALeft(), IRight
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class CDerived<!> : ALeft(), IRight
abstract class CAbstract : ALeft(), IRight
class CDerivedFromAbstract : CAbstract()
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class CDerivedFromAbstract<!> : CAbstract()
interface ILeft {
fun foo()
@@ -21,10 +21,10 @@ interface ILeft {
abstract class AILeft : ILeft
// Should be ERROR
class AILeftImpl : AILeft(), IRight
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class AILeftImpl<!> : AILeft(), IRight
// Should be ERROR
class RightLeft : ILeft, IRight
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class RightLeft<!> : ILeft, IRight
interface IBase {
fun foo()
@@ -8,6 +8,6 @@ interface IRight {
interface IDerived : ILeft, IRight
class CDerived : ILeft, IRight
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class CDerived<!> : ILeft, IRight
abstract class ADerived : ILeft, IRight
@@ -8,11 +8,11 @@ interface B {
open class D: B
open class C: D(), A
open <!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class C<!>: D(), A
// ------------
class Test: Impl(), CProvider
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class Test<!>: Impl(), CProvider
open class CC