QuickFix for OVERRIDING_FINAL_MEMBER
This commit is contained in:
committed by
Evgeny Gerashchenko
parent
08ce27e97e
commit
cee45f6a0a
@@ -0,0 +1,20 @@
|
||||
// "Make 'foo' in A, X and Y open" "true"
|
||||
open class A {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
trait X {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
trait Y {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
trait Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class B : A(), X, Y, Z {
|
||||
override<caret> fun foo() {}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Make A.foo open" "true"
|
||||
open class A {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override<caret> fun foo() {}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Make A.x open" "true"
|
||||
open class A {
|
||||
open var x = 42;
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override<caret> var x = 24;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// "Make 'foo' in A, X and Y open" "true"
|
||||
open class A {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
trait X {
|
||||
final fun foo() {}
|
||||
}
|
||||
|
||||
trait Y {
|
||||
final fun foo() {}
|
||||
}
|
||||
|
||||
trait Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class B : A(), X, Y, Z {
|
||||
override<caret> fun foo() {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// "Make Object.notify open" "false"
|
||||
// ERROR: 'notify' in 'Object' is final and cannot be overridden
|
||||
class A : Object() {
|
||||
override<caret> fun notify() {}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Make A.foo open" "true"
|
||||
open class A {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override<caret> fun foo() {}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Make A.x open" "true"
|
||||
open class A {
|
||||
final var x = 42;
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override<caret> var x = 24;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// "Make 'ordinal' in E and X open" "false"
|
||||
// ERROR: This type is final, so it cannot be inherited from
|
||||
// ERROR: Cannot access '<init>': it is 'private' in 'E'
|
||||
// ERROR: 'ordinal' in 'E' is final and cannot be overridden
|
||||
enum class E {}
|
||||
trait X {
|
||||
final fun ordinal() : Int = 42
|
||||
}
|
||||
|
||||
class A : E(), X {
|
||||
override<caret> fun ordinal() : Int = 24;
|
||||
}
|
||||
Reference in New Issue
Block a user