FIR: introduce not implemented checker

This commit is contained in:
Mikhail Glukhikh
2021-03-18 22:24:14 +03:00
parent 9ae41f5c07
commit 9ce8420491
50 changed files with 320 additions and 147 deletions
@@ -67,7 +67,7 @@ fun case3() {
ImplBaseCase3()
}
class ImplBaseCase3() : Base() {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBaseCase3<!>() : Base() {
override var b: Any
get() = TODO()
set(value) {}
@@ -95,7 +95,7 @@ fun case4() {
ImplBaseCase4()
}
class ImplBaseCase4() : Base() {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBaseCase4<!>() : Base() {
override var b: Any
get() = TODO()
set(value) {}
@@ -26,7 +26,7 @@ class Case2Outer {
}
inner
class A() : Case2Base() {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class A<!>() : Case2Base() {
}
}
@@ -36,7 +36,7 @@ fun case3() {
object : CaseOuter.CaseBase() {}.outerFoo()
}
class B() : CaseOuter.CaseBase() {}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class B<!>() : CaseOuter.CaseBase() {}
sealed class CaseOuter {
val v = "v"
@@ -46,6 +46,6 @@ sealed class CaseOuter {
abstract fun foo(): String
}
class A() : CaseBase() {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class A<!>() : CaseBase() {
}
}
@@ -41,7 +41,7 @@ class Case2(override val a: String, override var b: <!VAR_TYPE_MISMATCH_ON_OVERR
*/
class Case3 {
class ImplBase1 : MainClass.Base1() {}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBase1<!> : MainClass.Base1() {}
}
class MainClass {
@@ -30,7 +30,7 @@ class Case1 {
inner
class ImplBase2_1 : ImplBase2() {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBase2_1<!> : ImplBase2() {
override var b: CharSequence = ""
override fun boo(x: Int) {}
}
@@ -80,7 +80,7 @@ abstract class BaseCase3{
* NOTE: abstract class implements kotlin interface
*/
class Case4(a: String) : BaseCase4(a) {}
<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Case4<!>(a: String) : BaseCase4(a) {}
interface InterfaceCase4 {
fun foo(): String
@@ -97,7 +97,7 @@ abstract class BaseCase4(val a: String) : InterfaceCase4 {}
* NOTE: abstract class implements java interface
*/
class Case5(a: String) : BaseCase5(a) {}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class Case5<!>(a: String) : BaseCase5(a) {}
abstract class BaseCase5(val a: String) : java.util.Deque<String> {}
@@ -106,6 +106,6 @@ abstract class BaseCase5(val a: String) : java.util.Deque<String> {}
* NOTE: abstract class implements java abstract class
*/
class Case6(a: String) : BaseCase6(a) {}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class Case6<!>(a: String) : BaseCase6(a) {}
abstract class BaseCase6(val a: String) : java.util.AbstractCollection<String>() {}