Overridable val should not be treated as constant

#KT-9443 fixed
This commit is contained in:
Alexey Tsvetkov
2015-10-26 18:04:22 +03:00
parent 0a69cca066
commit 294559a94f
6 changed files with 56 additions and 0 deletions
@@ -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"
}