ConstantConditionIfInspection.replaceWithBranch shouldn't remove subjectVariable with side effects

Relates to #KT-30975
This commit is contained in:
Dmitry Gridin
2019-05-29 15:38:28 +07:00
parent e2d5e9a184
commit 1c4fb9b00b
22 changed files with 89 additions and 57 deletions
@@ -1,3 +1,4 @@
// WITH_RUNTIME
fun test() {
when<caret> (val a = create()) {
else -> {
@@ -1,7 +1,10 @@
// WITH_RUNTIME
fun test() {
<caret>val a = create()
use(a, a)
foo()
run {
val a = create()
use(a, a)
foo()
}
}
fun create(): String = ""
@@ -1,3 +1,4 @@
// WITH_RUNTIME
fun test() {
when<caret> (val a = create()) {
else -> {
@@ -1,7 +1,10 @@
// WITH_RUNTIME
fun test() {
<caret>val a = create()
use("")
foo()
run {
val a = create()
use("")
foo()
}
}
fun create(): String = ""
@@ -1,3 +1,4 @@
// WITH_RUNTIME
fun test() {
when<caret> (val a = 42) {
else -> {
@@ -1,5 +1,6 @@
// WITH_RUNTIME
fun test() {
<caret>use("")
use("")
foo()
}
@@ -1,3 +1,4 @@
// WITH_RUNTIME
fun test() {
when<caret> (val a = create()) {
else -> {
@@ -1,6 +1,10 @@
// WITH_RUNTIME
fun test() {
<caret>use(create())
foo()
run {
val a = create()
use(a)
foo()
}
}
fun create(): String = ""