Apply De Morgan's laws to non-negated binary expressions

So #KT-18460 Fixed
This commit is contained in:
Dmitry Neverov
2017-06-16 12:28:04 +03:00
committed by Mikhail Glukhikh
parent af53a0ecd5
commit 44ce5f73f7
44 changed files with 193 additions and 128 deletions
@@ -0,0 +1 @@
org.jetbrains.kotlin.idea.intentions.ConvertBinaryExpressionWithDemorgansLawIntention
@@ -3,5 +3,5 @@ object O {
fun bar(): Boolean = true
}
fun foo(p1: Boolean, p2: Boolean) {
if (<caret>!(O.foo() || O.bar())) return
if (!(<caret>O.foo() || O.bar())) return
}
@@ -3,5 +3,5 @@ object O {
fun bar(): Boolean = true
}
fun foo(p1: Boolean, p2: Boolean) {
if (<caret>!O.foo() && !O.bar()) return
if (!O.foo() && !O.bar()) return
}
@@ -3,5 +3,5 @@ operator fun String.not(): Boolean {
}
fun foo(a: Boolean, b: Boolean) : Boolean {
return !<caret>(!"" || b)
return !(<caret>!"" || b)
}
@@ -1,3 +1,3 @@
fun foo(a: Boolean, b: Boolean, c: Boolean) : Boolean {
return !<caret>(a || !b || c)
return !(<caret>a || !b || c)
}
@@ -1,3 +1,3 @@
fun foo(a: Boolean, b: Boolean) : Boolean {
return !<caret>(a && !b)
return !(<caret>a && !b)
}
@@ -1,4 +1,5 @@
// IS_APPLICABLE: false
// INTENTION_TEXT: Replace '&&' with '||'
fun foo(a: Boolean, b: Boolean) : Boolean {
return <caret>a && b
}
@@ -0,0 +1,5 @@
// INTENTION_TEXT: Replace '&&' with '||'
fun foo(a: Boolean, b: Boolean) : Boolean {
return !(!a || !b)
}
@@ -0,0 +1,5 @@
// INTENTION_TEXT: Replace '||' with '&&'
fun foo(a: Boolean, b: Boolean) : Boolean {
return <caret>a || b
}
@@ -0,0 +1,5 @@
// INTENTION_TEXT: Replace '||' with '&&'
fun foo(a: Boolean, b: Boolean) : Boolean {
return !(!a && !b)
}
@@ -0,0 +1,5 @@
// INTENTION_TEXT: Replace '||' with '&&'
fun foo(a: Boolean, b: Boolean) : Boolean {
return <caret>!a || !b
}
@@ -0,0 +1,5 @@
// INTENTION_TEXT: Replace '||' with '&&'
fun foo(a: Boolean, b: Boolean) : Boolean {
return !(a && b)
}
@@ -0,0 +1,5 @@
// INTENTION_TEXT: Replace '&&' with '||'
fun foo(a: Boolean, b: Boolean) : Boolean {
return <caret>!a && !b
}
@@ -0,0 +1,5 @@
// INTENTION_TEXT: Replace '&&' with '||'
fun foo(a: Boolean, b: Boolean) : Boolean {
return !(a || b)
}
@@ -3,5 +3,5 @@ operator fun Boolean.unaryPlus(): Boolean {
}
fun foo(a: Boolean, b: Boolean) : Boolean {
return !<caret>(+a || b)
return !(<caret>+a || b)
}
@@ -1 +0,0 @@
org.jetbrains.kotlin.idea.intentions.ConvertNegatedExpressionWithDemorgansLawIntention