Refactoring: "simplify negated binary expression" is now an inspection
This commit is contained in:
-3
@@ -1,3 +0,0 @@
|
|||||||
if (a != b) {
|
|
||||||
println("Not Equal")
|
|
||||||
}
|
|
||||||
-3
@@ -1,3 +0,0 @@
|
|||||||
if (<spot>!(a == b)</spot>) {
|
|
||||||
println("Not Equal")
|
|
||||||
}
|
|
||||||
-7
@@ -1,7 +0,0 @@
|
|||||||
<html>
|
|
||||||
<body>
|
|
||||||
This intention simplifies negated binary expressions by replacing expressions such as
|
|
||||||
!(<b>a</b> <small>op</small> <b>b</b>) with <b>a</b> <small>negop</small> <b>b</b>
|
|
||||||
(where <small>op</small> and <small>negop</small> are inverse comparison operators like <b>==</b> and <b>!=</b> or <b>in</b> and <b>!in</b>).
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -907,11 +907,6 @@
|
|||||||
<category>Kotlin</category>
|
<category>Kotlin</category>
|
||||||
</intentionAction>
|
</intentionAction>
|
||||||
|
|
||||||
<intentionAction>
|
|
||||||
<className>org.jetbrains.kotlin.idea.intentions.SimplifyNegatedBinaryExpressionIntention</className>
|
|
||||||
<category>Kotlin</category>
|
|
||||||
</intentionAction>
|
|
||||||
|
|
||||||
<intentionAction>
|
<intentionAction>
|
||||||
<className>org.jetbrains.kotlin.idea.intentions.RemoveUnnecessaryParenthesesIntention</className>
|
<className>org.jetbrains.kotlin.idea.intentions.RemoveUnnecessaryParenthesesIntention</className>
|
||||||
<category>Kotlin</category>
|
<category>Kotlin</category>
|
||||||
@@ -1642,7 +1637,7 @@
|
|||||||
language="kotlin"
|
language="kotlin"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<localInspection implementationClass="org.jetbrains.kotlin.idea.intentions.SimplifyNegatedBinaryExpressionInspection"
|
<localInspection implementationClass="org.jetbrains.kotlin.idea.inspections.SimplifyNegatedBinaryExpressionInspection"
|
||||||
displayName="Negated boolean expression that can be simplified"
|
displayName="Negated boolean expression that can be simplified"
|
||||||
groupPath="Kotlin"
|
groupPath="Kotlin"
|
||||||
groupName="Style issues"
|
groupName="Style issues"
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.idea.intentions.SimplifyNegatedBinaryExpressionIntention
|
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
@@ -87,9 +86,9 @@ class NullableBooleanElvisInspection : AbstractKotlinInspection(), CleanupLocalI
|
|||||||
appendFixedText(if (constValue) " != false" else " == true")
|
appendFixedText(if (constValue) " != false" else " == true")
|
||||||
})
|
})
|
||||||
val prefixExpression = equalityCheckExpression.getParentOfType<KtPrefixExpression>(strict = true) ?: return
|
val prefixExpression = equalityCheckExpression.getParentOfType<KtPrefixExpression>(strict = true) ?: return
|
||||||
val simplifier = SimplifyNegatedBinaryExpressionIntention()
|
val simplifier = SimplifyNegatedBinaryExpressionInspection()
|
||||||
if (simplifier.isApplicableTo(prefixExpression)) {
|
if (simplifier.isApplicable(prefixExpression)) {
|
||||||
simplifier.applyTo(prefixExpression, null)
|
simplifier.applyTo(prefixExpression.operationReference)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+100
@@ -0,0 +1,100 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2017 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.inspections
|
||||||
|
|
||||||
|
import com.intellij.codeInspection.LocalInspectionToolSession
|
||||||
|
import com.intellij.codeInspection.ProblemsHolder
|
||||||
|
import com.intellij.openapi.editor.Editor
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.psi.PsiElement
|
||||||
|
import com.intellij.psi.tree.IElementType
|
||||||
|
import org.jetbrains.kotlin.idea.inspections.AbstractApplicabilityBasedInspection
|
||||||
|
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
||||||
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
|
||||||
|
class SimplifyNegatedBinaryExpressionInspection : AbstractApplicabilityBasedInspection<KtPrefixExpression>() {
|
||||||
|
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession): KtVisitorVoid =
|
||||||
|
object : KtVisitorVoid() {
|
||||||
|
override fun visitPrefixExpression(expression: KtPrefixExpression) {
|
||||||
|
super.visitPrefixExpression(expression)
|
||||||
|
visitTargetElement(expression, holder, isOnTheFly)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun IElementType.negate(): KtSingleValueToken? = when (this) {
|
||||||
|
KtTokens.IN_KEYWORD -> KtTokens.NOT_IN
|
||||||
|
KtTokens.NOT_IN -> KtTokens.IN_KEYWORD
|
||||||
|
|
||||||
|
KtTokens.IS_KEYWORD -> KtTokens.NOT_IS
|
||||||
|
KtTokens.NOT_IS -> KtTokens.IS_KEYWORD
|
||||||
|
|
||||||
|
KtTokens.EQEQ -> KtTokens.EXCLEQ
|
||||||
|
KtTokens.EXCLEQ -> KtTokens.EQEQ
|
||||||
|
|
||||||
|
KtTokens.LT -> KtTokens.GTEQ
|
||||||
|
KtTokens.GTEQ -> KtTokens.LT
|
||||||
|
|
||||||
|
KtTokens.GT -> KtTokens.LTEQ
|
||||||
|
KtTokens.LTEQ -> KtTokens.GT
|
||||||
|
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun inspectionTarget(element: KtPrefixExpression) = element.operationReference
|
||||||
|
|
||||||
|
override fun inspectionText(element: KtPrefixExpression) = "Negated expression can be simplified"
|
||||||
|
|
||||||
|
override val defaultFixText = "Simplify negated expression"
|
||||||
|
|
||||||
|
override fun fixText(element: KtPrefixExpression): String {
|
||||||
|
val expression = KtPsiUtil.deparenthesize(element.baseExpression) as? KtOperationExpression ?: return defaultFixText
|
||||||
|
val operation = expression.operationReference.getReferencedNameElementType() as? KtSingleValueToken ?: return defaultFixText
|
||||||
|
val negatedOperation = operation.negate() ?: return defaultFixText
|
||||||
|
return "Simplify negated '${operation.value}' expression to '${negatedOperation.value}'"
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun isApplicable(element: KtPrefixExpression): Boolean {
|
||||||
|
if (element.operationToken != KtTokens.EXCL) return false
|
||||||
|
|
||||||
|
val expression = KtPsiUtil.deparenthesize(element.baseExpression) as? KtOperationExpression ?: return false
|
||||||
|
when (expression) {
|
||||||
|
is KtIsExpression -> if (expression.typeReference == null) return false
|
||||||
|
is KtBinaryExpression -> if (expression.left == null || expression.right == null) return false
|
||||||
|
else -> return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return (expression.operationReference.getReferencedNameElementType() as? KtSingleValueToken)?.negate() != null
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun applyTo(element: PsiElement, project: Project, editor: Editor?) {
|
||||||
|
val prefixExpression = element.parent as? KtPrefixExpression ?: return
|
||||||
|
val expression = KtPsiUtil.deparenthesize(prefixExpression.baseExpression) ?: return
|
||||||
|
val operation = (expression as KtOperationExpression).operationReference.getReferencedNameElementType().negate()?.value ?: return
|
||||||
|
|
||||||
|
val psiFactory = KtPsiFactory(expression)
|
||||||
|
val newExpression = when (expression) {
|
||||||
|
is KtIsExpression ->
|
||||||
|
psiFactory.createExpressionByPattern("$0 $1 $2", expression.leftHandSide, operation, expression.typeReference!!)
|
||||||
|
is KtBinaryExpression ->
|
||||||
|
psiFactory.createExpressionByPattern("$0 $1 $2", expression.left!!, operation, expression.right!!)
|
||||||
|
else ->
|
||||||
|
throw IllegalArgumentException()
|
||||||
|
}
|
||||||
|
prefixExpression.replace(newExpression)
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-3
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
|
import org.jetbrains.kotlin.idea.inspections.SimplifyNegatedBinaryExpressionInspection
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
@@ -104,9 +105,9 @@ class ConvertAssertToIfWithThrowIntention : SelfTargetingIntention<KtCallExpress
|
|||||||
|
|
||||||
private fun simplifyConditionIfPossible(ifExpression: KtIfExpression, editor: Editor?) {
|
private fun simplifyConditionIfPossible(ifExpression: KtIfExpression, editor: Editor?) {
|
||||||
val condition = ifExpression.condition as KtPrefixExpression
|
val condition = ifExpression.condition as KtPrefixExpression
|
||||||
val simplifier = SimplifyNegatedBinaryExpressionIntention()
|
val simplifier = SimplifyNegatedBinaryExpressionInspection()
|
||||||
if (simplifier.isApplicableTo(condition)) {
|
if (simplifier.isApplicable(condition)) {
|
||||||
simplifier.applyTo(condition, editor)
|
simplifier.applyTo(condition.operationReference, editor = editor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.idea.core.replaced
|
|||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isNullExpression
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isNullExpression
|
||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.unwrapBlockOrParenthesis
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.unwrapBlockOrParenthesis
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
|
import org.jetbrains.kotlin.idea.inspections.SimplifyNegatedBinaryExpressionInspection
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||||
@@ -52,9 +53,9 @@ class ConvertIfWithThrowToAssertIntention : SelfTargetingOffsetIndependentIntent
|
|||||||
condition.replace(psiFactory.createExpressionByPattern("!$0", condition))
|
condition.replace(psiFactory.createExpressionByPattern("!$0", condition))
|
||||||
|
|
||||||
var newCondition = element.condition!!
|
var newCondition = element.condition!!
|
||||||
val simplifier = SimplifyNegatedBinaryExpressionIntention()
|
val simplifier = SimplifyNegatedBinaryExpressionInspection()
|
||||||
if (simplifier.isApplicableTo(newCondition as KtPrefixExpression)) {
|
if (simplifier.isApplicable(newCondition as KtPrefixExpression)) {
|
||||||
simplifier.applyTo(newCondition, editor)
|
simplifier.applyTo(newCondition.operationReference, editor = editor)
|
||||||
newCondition = element.condition!!
|
newCondition = element.condition!!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-83
@@ -1,83 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2015 JetBrains s.r.o.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.intentions
|
|
||||||
|
|
||||||
import com.intellij.openapi.editor.Editor
|
|
||||||
import com.intellij.openapi.util.TextRange
|
|
||||||
import com.intellij.psi.tree.IElementType
|
|
||||||
import org.jetbrains.kotlin.idea.inspections.IntentionBasedInspection
|
|
||||||
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
|
||||||
import org.jetbrains.kotlin.psi.*
|
|
||||||
|
|
||||||
class SimplifyNegatedBinaryExpressionInspection : IntentionBasedInspection<KtPrefixExpression>(SimplifyNegatedBinaryExpressionIntention::class)
|
|
||||||
|
|
||||||
class SimplifyNegatedBinaryExpressionIntention : SelfTargetingRangeIntention<KtPrefixExpression>(KtPrefixExpression::class.java, "Simplify negated binary expression") {
|
|
||||||
|
|
||||||
private fun IElementType.negate(): KtSingleValueToken? = when (this) {
|
|
||||||
KtTokens.IN_KEYWORD -> KtTokens.NOT_IN
|
|
||||||
KtTokens.NOT_IN -> KtTokens.IN_KEYWORD
|
|
||||||
|
|
||||||
KtTokens.IS_KEYWORD -> KtTokens.NOT_IS
|
|
||||||
KtTokens.NOT_IS -> KtTokens.IS_KEYWORD
|
|
||||||
|
|
||||||
KtTokens.EQEQ -> KtTokens.EXCLEQ
|
|
||||||
KtTokens.EXCLEQ -> KtTokens.EQEQ
|
|
||||||
|
|
||||||
KtTokens.LT -> KtTokens.GTEQ
|
|
||||||
KtTokens.GTEQ -> KtTokens.LT
|
|
||||||
|
|
||||||
KtTokens.GT -> KtTokens.LTEQ
|
|
||||||
KtTokens.LTEQ -> KtTokens.GT
|
|
||||||
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun applicabilityRange(element: KtPrefixExpression): TextRange? {
|
|
||||||
return if (isApplicableTo(element)) element.operationReference.textRange else null
|
|
||||||
}
|
|
||||||
|
|
||||||
fun isApplicableTo(element: KtPrefixExpression): Boolean {
|
|
||||||
if (element.operationToken != KtTokens.EXCL) return false
|
|
||||||
|
|
||||||
val expression = KtPsiUtil.deparenthesize(element.baseExpression) as? KtOperationExpression ?: return false
|
|
||||||
when (expression) {
|
|
||||||
is KtIsExpression -> { if (expression.typeReference == null) return false }
|
|
||||||
is KtBinaryExpression -> { if (expression.left == null || expression.right == null) return false }
|
|
||||||
else -> return false
|
|
||||||
}
|
|
||||||
|
|
||||||
val operation = expression.operationReference.getReferencedNameElementType() as? KtSingleValueToken ?: return false
|
|
||||||
val negatedOperation = operation.negate() ?: return false
|
|
||||||
|
|
||||||
text = "Simplify negated '${operation.value}' expression to '${negatedOperation.value}'"
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun applyTo(element: KtPrefixExpression, editor: Editor?) {
|
|
||||||
val expression = KtPsiUtil.deparenthesize(element.baseExpression)!!
|
|
||||||
val operation = (expression as KtOperationExpression).operationReference.getReferencedNameElementType().negate()!!.value
|
|
||||||
|
|
||||||
val psiFactory = KtPsiFactory(expression)
|
|
||||||
val newExpression = when (expression) {
|
|
||||||
is KtIsExpression -> psiFactory.createExpressionByPattern("$0 $1 $2", expression.leftHandSide, operation, expression.typeReference!!)
|
|
||||||
is KtBinaryExpression -> psiFactory.createExpressionByPattern("$0 $1 $2", expression.left!!, operation, expression.right!!)
|
|
||||||
else -> throw IllegalArgumentException()
|
|
||||||
}
|
|
||||||
element.replace(newExpression)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -89,7 +89,7 @@ object J2KPostProcessingRegistrar {
|
|||||||
|
|
||||||
registerInspectionBasedProcessing(IfThenToSafeAccessInspection())
|
registerInspectionBasedProcessing(IfThenToSafeAccessInspection())
|
||||||
registerIntentionBasedProcessing(IfThenToElvisIntention())
|
registerIntentionBasedProcessing(IfThenToElvisIntention())
|
||||||
registerIntentionBasedProcessing(SimplifyNegatedBinaryExpressionIntention())
|
registerInspectionBasedProcessing(SimplifyNegatedBinaryExpressionInspection())
|
||||||
registerInspectionBasedProcessing(ReplaceGetOrSetInspection())
|
registerInspectionBasedProcessing(ReplaceGetOrSetInspection())
|
||||||
registerIntentionBasedProcessing(AddOperatorModifierIntention())
|
registerIntentionBasedProcessing(AddOperatorModifierIntention())
|
||||||
registerIntentionBasedProcessing(ObjectLiteralToLambdaIntention())
|
registerIntentionBasedProcessing(ObjectLiteralToLambdaIntention())
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
org.jetbrains.kotlin.idea.inspections.SimplifyNegatedBinaryExpressionInspection
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '==' expression to '!='
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 == 1)
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '==' expression to '!='
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 != 1
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '>' expression to '<='
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 > 1)
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '>' expression to '<='
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 <= 1
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '>=' expression to '<'
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 >= 1)
|
||||||
|
}
|
||||||
Vendored
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '>=' expression to '<'
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 < 1
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// INTENTION_TEXT: Simplify negated 'in' expression to '!in'
|
// FIX: Simplify negated 'in' expression to '!in'
|
||||||
class A(val e: Int) {
|
class A(val e: Int) {
|
||||||
operator fun contains(i: Int): Boolean = e == i
|
operator fun contains(i: Int): Boolean = e == i
|
||||||
}
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// INTENTION_TEXT: Simplify negated 'in' expression to '!in'
|
// FIX: Simplify negated 'in' expression to '!in'
|
||||||
class A(val e: Int) {
|
class A(val e: Int) {
|
||||||
operator fun contains(i: Int): Boolean = e == i
|
operator fun contains(i: Int): Boolean = e == i
|
||||||
}
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// IS_APPLICABLE: false
|
// PROBLEM: none
|
||||||
infix fun Int.lt(b: Int): Boolean = this < b
|
infix fun Int.lt(b: Int): Boolean = this < b
|
||||||
fun test(n: Int) {
|
fun test(n: Int) {
|
||||||
<caret>!(1 lt 2)
|
<caret>!(1 lt 2)
|
||||||
+20
-20
@@ -5,8 +5,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/notIs.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/notIs.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '!is' expression to 'is'</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
<line>8</line>
|
<line>8</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/notIn.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/notIn.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '!in' expression to 'in'</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -23,8 +23,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/notEquals.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/notEquals.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '!=' expression to '=='</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -32,8 +32,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/lessThanOrEquals.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/lessThanOrEquals.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '<=' expression to '>'</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/lessThan.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/lessThan.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '<' expression to '>='</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -50,8 +50,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/is.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/is.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated 'is' expression to '!is'</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -59,8 +59,8 @@
|
|||||||
<line>8</line>
|
<line>8</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/in.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/in.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated 'in' expression to '!in'</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -68,8 +68,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/greaterThanOrEquals.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/greaterThanOrEquals.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '>=' expression to '<'</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -77,8 +77,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/greaterThan.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/greaterThan.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '>' expression to '<='</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
<problem>
|
<problem>
|
||||||
@@ -86,8 +86,8 @@
|
|||||||
<line>3</line>
|
<line>3</line>
|
||||||
<module>light_idea_test_case</module>
|
<module>light_idea_test_case</module>
|
||||||
<entry_point TYPE="file" FQNAME="temp:///src/equals.kt" />
|
<entry_point TYPE="file" FQNAME="temp:///src/equals.kt" />
|
||||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Simplify Negated Binary Expression</problem_class>
|
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Negated boolean expression that can be simplified</problem_class>
|
||||||
<description>Simplify negated '==' expression to '!='</description>
|
<description>Negated expression can be simplified</description>
|
||||||
</problem>
|
</problem>
|
||||||
|
|
||||||
</problems>
|
</problems>
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
// INSPECTION_CLASS: org.jetbrains.kotlin.idea.inspections.SimplifyNegatedBinaryExpressionInspection
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated 'is' expression to '!is'
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 is Int)
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated 'is' expression to '!is'
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 !is Int
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '<' expression to '>='
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 < 1)
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '<' expression to '>='
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 >= 1
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '<=' expression to '>'
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 <= 1)
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '<=' expression to '>'
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 > 1
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '!=' expression to '=='
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 != 1)
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '!=' expression to '=='
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 == 1
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '!in' expression to 'in'
|
// FIX: Simplify negated '!in' expression to 'in'
|
||||||
class A(val e: Int) {
|
class A(val e: Int) {
|
||||||
operator fun contains(i: Int): Boolean = e == i
|
operator fun contains(i: Int): Boolean = e == i
|
||||||
}
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '!in' expression to 'in'
|
// FIX: Simplify negated '!in' expression to 'in'
|
||||||
class A(val e: Int) {
|
class A(val e: Int) {
|
||||||
operator fun contains(i: Int): Boolean = e == i
|
operator fun contains(i: Int): Boolean = e == i
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '!is' expression to 'is'
|
||||||
|
fun test(n: Int) {
|
||||||
|
<caret>!(0 !is Int)
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// FIX: Simplify negated '!is' expression to 'is'
|
||||||
|
fun test(n: Int) {
|
||||||
|
0 is Int
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// IS_APPLICABLE: false
|
// PROBLEM: none
|
||||||
fun test(n: Int) {
|
fun test(n: Int) {
|
||||||
!<caret>true
|
!<caret>true
|
||||||
}
|
}
|
||||||
@@ -1 +0,0 @@
|
|||||||
org.jetbrains.kotlin.idea.intentions.SimplifyNegatedBinaryExpressionIntention
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '==' expression to '!='
|
|
||||||
fun test(n: Int) {
|
|
||||||
!<caret>(0 == 1)
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '==' expression to '!='
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 != 1
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '>' expression to '<='
|
|
||||||
fun test(n: Int) {
|
|
||||||
!<caret>(0 > 1)
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '>' expression to '<='
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 <= 1
|
|
||||||
}
|
|
||||||
-4
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '>=' expression to '<'
|
|
||||||
fun test(n: Int) {
|
|
||||||
<caret>!(0 >= 1)
|
|
||||||
}
|
|
||||||
-4
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '>=' expression to '<'
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 < 1
|
|
||||||
}
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
// INSPECTION_CLASS: org.jetbrains.kotlin.idea.intentions.SimplifyNegatedBinaryExpressionInspection
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated 'is' expression to '!is'
|
|
||||||
fun test(n: Int) {
|
|
||||||
<caret>!(0 is Int)
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated 'is' expression to '!is'
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 !is Int
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '<' expression to '>='
|
|
||||||
fun test(n: Int) {
|
|
||||||
<caret>!(0 < 1)
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '<' expression to '>='
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 >= 1
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '<=' expression to '>'
|
|
||||||
fun test(n: Int) {
|
|
||||||
<caret>!(0 <= 1)
|
|
||||||
}
|
|
||||||
-4
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '<=' expression to '>'
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 > 1
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '!=' expression to '=='
|
|
||||||
fun test(n: Int) {
|
|
||||||
<caret>!(0 != 1)
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '!=' expression to '=='
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 == 1
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '!is' expression to 'is'
|
|
||||||
fun test(n: Int) {
|
|
||||||
<caret>!(0 !is Int)
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// INTENTION_TEXT: Simplify negated '!is' expression to 'is'
|
|
||||||
fun test(n: Int) {
|
|
||||||
0 is Int
|
|
||||||
}
|
|
||||||
@@ -85,12 +85,6 @@ public class InspectionTestGenerated extends AbstractInspectionTest {
|
|||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeExplicitTypeArguments/inspectionData/inspections.test");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeExplicitTypeArguments/inspectionData/inspections.test");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("simplifyNegatedBinaryExpression/inspectionData/inspections.test")
|
|
||||||
public void testSimplifyNegatedBinaryExpression_inspectionData_Inspections_test() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/inspectionData/inspections.test");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("idea/testData/inspections")
|
@TestMetadata("idea/testData/inspections")
|
||||||
@@ -493,5 +487,11 @@ public class InspectionTestGenerated extends AbstractInspectionTest {
|
|||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/conventionNameCalls/replaceGetOrSet/inspectionData/inspections.test");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/conventionNameCalls/replaceGetOrSet/inspectionData/inspections.test");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("simplifyNegatedBinaryExpression/inspectionData/inspections.test")
|
||||||
|
public void testSimplifyNegatedBinaryExpression_inspectionData_Inspections_test() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/inspectionData/inspections.test");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3516,6 +3516,87 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class SimplifyNegatedBinaryExpression extends AbstractLocalInspectionTest {
|
||||||
|
public void testAllFilesPresentInSimplifyNegatedBinaryExpression() throws Exception {
|
||||||
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression"), Pattern.compile("^([\\w\\-_]+)\\.(kt|kts)$"), TargetBackend.ANY, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("equals.kt")
|
||||||
|
public void testEquals() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/equals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("greaterThan.kt")
|
||||||
|
public void testGreaterThan() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/greaterThan.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("greaterThanOrEquals.kt")
|
||||||
|
public void testGreaterThanOrEquals() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/greaterThanOrEquals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("in.kt")
|
||||||
|
public void testIn() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/in.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inapplicableBinaryOperation.kt")
|
||||||
|
public void testInapplicableBinaryOperation() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/inapplicableBinaryOperation.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("is.kt")
|
||||||
|
public void testIs() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/is.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("lessThan.kt")
|
||||||
|
public void testLessThan() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/lessThan.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("lessThanOrEquals.kt")
|
||||||
|
public void testLessThanOrEquals() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/lessThanOrEquals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("notEquals.kt")
|
||||||
|
public void testNotEquals() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/notEquals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("notIn.kt")
|
||||||
|
public void testNotIn() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/notIn.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("notIs.kt")
|
||||||
|
public void testNotIs() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/notIs.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("simpleInvert.kt")
|
||||||
|
public void testSimpleInvert() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/simplifyNegatedBinaryExpression/simpleInvert.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("idea/testData/inspectionsLocal/simplifyWhenWithBooleanConstantCondition")
|
@TestMetadata("idea/testData/inspectionsLocal/simplifyWhenWithBooleanConstantCondition")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
@@ -14463,87 +14463,6 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression")
|
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
|
||||||
public static class SimplifyNegatedBinaryExpression extends AbstractIntentionTest {
|
|
||||||
public void testAllFilesPresentInSimplifyNegatedBinaryExpression() throws Exception {
|
|
||||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/simplifyNegatedBinaryExpression"), Pattern.compile("^([\\w\\-_]+)\\.(kt|kts)$"), TargetBackend.ANY, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("equals.kt")
|
|
||||||
public void testEquals() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/equals.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("greaterThan.kt")
|
|
||||||
public void testGreaterThan() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/greaterThan.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("greaterThanOrEquals.kt")
|
|
||||||
public void testGreaterThanOrEquals() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/greaterThanOrEquals.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("in.kt")
|
|
||||||
public void testIn() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/in.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("inapplicableBinaryOperation.kt")
|
|
||||||
public void testInapplicableBinaryOperation() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/inapplicableBinaryOperation.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("is.kt")
|
|
||||||
public void testIs() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/is.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("lessThan.kt")
|
|
||||||
public void testLessThan() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/lessThan.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("lessThanOrEquals.kt")
|
|
||||||
public void testLessThanOrEquals() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/lessThanOrEquals.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("notEquals.kt")
|
|
||||||
public void testNotEquals() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/notEquals.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("notIn.kt")
|
|
||||||
public void testNotIn() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/notIn.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("notIs.kt")
|
|
||||||
public void testNotIs() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/notIs.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("simpleInvert.kt")
|
|
||||||
public void testSimpleInvert() throws Exception {
|
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/simplifyNegatedBinaryExpression/simpleInvert.kt");
|
|
||||||
doTest(fileName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("idea/testData/intentions/specifyExplicitLambdaSignature")
|
@TestMetadata("idea/testData/intentions/specifyExplicitLambdaSignature")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
Reference in New Issue
Block a user