Deprecate simplification of complex boolean constant expressions in whens and loops
^KT-39883 In Progress
This commit is contained in:
committed by
teamcityserver
parent
8a2e0cedf9
commit
05883afc0a
+23
-2
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !LANGUAGE: +NewInference +ProhibitSimplificationOfNonTrivialConstBooleanExpressions
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// FULL_JDK
|
||||
@@ -66,4 +66,25 @@ sealed class SClass {
|
||||
class A : SClass()
|
||||
class B : SClass()
|
||||
class C : SClass()
|
||||
}
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
|
||||
fun case5() {
|
||||
val b = false
|
||||
val when1: Any = when (b) {
|
||||
false -> { }
|
||||
!false -> { }
|
||||
else -> { }
|
||||
}
|
||||
|
||||
val when2: Any = <!NO_ELSE_IN_WHEN!>when<!> (b) {
|
||||
false -> { }
|
||||
!false -> { }
|
||||
}
|
||||
val when3: Any = <!NO_ELSE_IN_WHEN!>when<!> (b) {
|
||||
false -> { }
|
||||
<!DUPLICATE_LABEL_IN_WHEN!>false<!> -> { }
|
||||
!false -> { }
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !LANGUAGE: +NewInference -ProhibitSimplificationOfNonTrivialConstBooleanExpressions
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// FULL_JDK
|
||||
@@ -47,18 +47,18 @@ fun case2() {
|
||||
val b = false
|
||||
val when1: Any = when (b) {
|
||||
false -> { }
|
||||
!false -> { }
|
||||
<!NON_TRIVIAL_BOOLEAN_CONSTANT!>!false<!> -> { }
|
||||
<!REDUNDANT_ELSE_IN_WHEN!>else<!> -> { }
|
||||
}
|
||||
|
||||
val when2: Any = when (b) {
|
||||
false -> { }
|
||||
!false -> { }
|
||||
<!NON_TRIVIAL_BOOLEAN_CONSTANT!>!false<!> -> { }
|
||||
}
|
||||
val when3: Any = when (b) {
|
||||
false -> { }
|
||||
<!DUPLICATE_LABEL_IN_WHEN!>false<!> -> { }
|
||||
!false -> { }
|
||||
<!NON_TRIVIAL_BOOLEAN_CONSTANT!>!false<!> -> { }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,4 +111,4 @@ sealed class SClass {
|
||||
class A : SClass()
|
||||
class B : SClass()
|
||||
class C : SClass()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user