KT-4568: Created the ConvertNegatedBooleanSequence intention. This intention takes an expression of the form !a &&,|| !b &&,|| ... and converts it to the DeMorgan equivalent !(a &&,|| b ...).

This commit is contained in:
Ross Hanson
2014-03-11 09:06:34 -04:00
committed by Mikhael Bogdanov
parent 4088f4a00e
commit 2147a88ed8
24 changed files with 230 additions and 3 deletions
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return <caret>!a && !b && !c
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return !(a || b || c)
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return <caret>!a && !b
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return !(a || b)
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return <caret>!a || !b
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return !(a && b)
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean, c: Boolean) {
return <caret>!(a && b) || !(a || c)
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean, c: Boolean) {
return !((a && b) && (a || c))
}
@@ -0,0 +1,4 @@
// IS_APPLICABLE: false
fun foo(a: Boolean, b: Boolean, c: Boolean) {
return <caret>!a && !b || !c
}
@@ -0,0 +1,4 @@
// IS_APPLICABLE: false
fun foo(a: Boolean, b: boolean) {
return <caret> !a && b
}
@@ -0,0 +1,4 @@
// IS_APPLICABLE: false
fun foo(a: Boolean) {
return !a
}
@@ -0,0 +1,11 @@
fun bar1() {
return true
}
fun bar2() {
return false
}
fun foo() {
return <caret>!bar1() && !bar2()
}
@@ -0,0 +1,11 @@
fun bar1() {
return true
}
fun bar2() {
return false
}
fun foo() {
return !(bar1() || bar2())
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return (<caret>!a && !b)
}
@@ -0,0 +1,3 @@
fun foo(a: Boolean, b: Boolean) {
return !(a || b)
}