Do not suggest "convert to object" for sealed sub-classes with state

So #KT-24816 Fixed
This commit is contained in:
Mikhail Glukhikh
2018-06-08 14:45:45 +03:00
parent 813d7fcb6a
commit a09f6e14a5
8 changed files with 118 additions and 3 deletions
@@ -0,0 +1,7 @@
// PROBLEM: none
abstract class Base(var x: String)
sealed class Sealed(s: String) : Base(s)
<caret>class Derived : Sealed("123")
@@ -0,0 +1,18 @@
// WITH_RUNTIME
abstract class Base {
var s: String
get() = "Hello"
set(value) {}
}
sealed class Sealed : Base() {
open val x: List<Int>
get() = emptyList()
}
<caret>class Derived : Sealed() {
var length: Int
get() = s.length
set(value) {}
}
@@ -0,0 +1,18 @@
// WITH_RUNTIME
abstract class Base {
var s: String
get() = "Hello"
set(value) {}
}
sealed class Sealed : Base() {
open val x: List<Int>
get() = emptyList()
}
object Derived : Sealed() {
var length: Int
get() = s.length
set(value) {}
}
@@ -0,0 +1,8 @@
// PROBLEM: none
// WITH_RUNTIME
sealed class SC {
<caret>class U : SC() {
val a = mutableListOf<String>()
}
}
@@ -0,0 +1,6 @@
// PROBLEM: none
sealed class SC {
var u = 0
<caret>class C : SC() {}
}