Overridable val should not be treated as constant
#KT-9443 fixed
This commit is contained in:
@@ -56,6 +56,10 @@ public final class MiscTest extends AbstractExpressionTest {
|
||||
checkOutput("KT-1052.kt", "true\n");
|
||||
}
|
||||
|
||||
public void testKt9443() throws Exception {
|
||||
checkFooBoxIsOk("kt9443.kt");
|
||||
}
|
||||
|
||||
public void testKt740_1() throws Exception {
|
||||
checkFooBoxIsTrue("KT-740.kt");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package foo
|
||||
|
||||
abstract class BaseClass {
|
||||
protected open val menuId: Int = 0
|
||||
|
||||
public fun run(): Pair<String, Boolean> =
|
||||
"$menuId" to (menuId == 0)
|
||||
}
|
||||
|
||||
class ImplClass: BaseClass() {
|
||||
override val menuId: Int = 3
|
||||
}
|
||||
|
||||
public fun box(): String {
|
||||
val result = ImplClass().run()
|
||||
|
||||
if (result != ("3" to false)) return "Fail: $result"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user