ACCIDENTAL_OVERRIDE diagnostics supported

#KT-1 In Progress
This commit is contained in:
Andrey Breslav
2014-06-05 20:53:31 +04:00
parent d2e464a02b
commit 27f76630e6
22 changed files with 251 additions and 25 deletions
@@ -4,5 +4,5 @@ open class B {
class C : B() {
val x: Int
<!CONFLICTING_JVM_DECLARATIONS!>get()<!> = 1
<!ACCIDENTAL_OVERRIDE!>get()<!> = 1
}
@@ -0,0 +1,5 @@
open class B {
fun getX() = 1
}
class C(<!ACCIDENTAL_OVERRIDE!>val x: Int<!>) : B()
@@ -0,0 +1,7 @@
open class B {
fun getX() = 1
}
class C : B() {
<!ACCIDENTAL_OVERRIDE!>val x: Int<!> = 1
}
@@ -4,5 +4,5 @@ open class B {
}
class C : B() {
<!CONFLICTING_JVM_DECLARATIONS!>fun getX()<!> = 1
<!ACCIDENTAL_OVERRIDE!>fun getX()<!> = 1
}
@@ -0,0 +1,10 @@
trait B {
fun getX() = 1
}
trait D {
val x: Int
}
class <!ACCIDENTAL_OVERRIDE!>C(d: D)<!> : D by d, B {
}
@@ -0,0 +1,9 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
open class B {
fun foo(l: List<String>) {}
}
class C : B() {
<!ACCIDENTAL_OVERRIDE!>fun foo(l: List<Int>)<!> {}
}
@@ -0,0 +1,8 @@
open class B {
private fun getX() = 1
}
class C : B() {
val x: Int
get() = 1
}
@@ -4,5 +4,5 @@ trait T {
class C : T {
val x: Int
<!CONFLICTING_JVM_DECLARATIONS!>get() = 1<!>
<!CONFLICTING_JVM_DECLARATIONS!>get()<!> = 1
}
@@ -0,0 +1,8 @@
trait T {
fun getX() = 1
}
trait C : T {
val x: Int
<!ACCIDENTAL_OVERRIDE!>get()<!> = 1
}
@@ -0,0 +1,8 @@
trait T {
fun getX(): Int
}
abstract class C : T {
val x: Int
<!ACCIDENTAL_OVERRIDE!>get()<!> = 1
}
@@ -0,0 +1,8 @@
trait T {
val x: Int
get() = 1
}
trait C : T {
<!ACCIDENTAL_OVERRIDE!>fun getX()<!> = 1
}
@@ -0,0 +1,7 @@
trait T {
val x: Int
}
abstract class C : T {
<!ACCIDENTAL_OVERRIDE!>fun getX()<!> = 1
}
@@ -42,7 +42,7 @@ abstract class MyAbstractClass1 : MyTrait<Int>, MyAbstractClass<String>() {
class <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>MyIllegalGenericClass1<!><T> : MyTrait<T>, MyAbstractClass<T>() {}
class <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>MyIllegalGenericClass2<!><T, R>(r : R) : MyTrait<T>, MyAbstractClass<R>() {
<!NOTHING_TO_OVERRIDE!>override<!> fun foo(r: R) = r
<!ACCIDENTAL_OVERRIDE!><!NOTHING_TO_OVERRIDE!>override<!> fun foo(r: R)<!> = r
<!CONFLICTING_OVERLOADS!><!NOTHING_TO_OVERRIDE!>override<!> val <T> pr : R<!> = r
}
class <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>MyIllegalClass1<!> : MyTrait<Int>, MyAbstractClass<String>() {}