Destructure inspection: do not apply on variable declarations or function literals without explicit parameters + name & severity changed

This commit is contained in:
Mikhail Glukhikh
2016-10-06 14:22:09 +03:00
parent 37debf4436
commit dd7d7a5fc7
3 changed files with 53 additions and 48 deletions
+2 -2
View File
@@ -1639,11 +1639,11 @@
/>
<localInspection implementationClass="org.jetbrains.kotlin.idea.intentions.DestructureInspection"
displayName="Can be simplified using destructing declaration"
displayName="Use destructuring declaration"
groupName="Kotlin"
enabledByDefault="true"
cleanupTool="false"
level="WEAK WARNING"
level="INFO"
language="kotlin"
/>
@@ -39,11 +39,16 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
import java.util.*
class DestructureInspection : IntentionBasedInspection<KtDeclaration>(DestructureIntention::class)
class DestructureInspection : IntentionBasedInspection<KtDeclaration>(
DestructureIntention::class,
additionalChecker = { declaration ->
declaration !is KtVariableDeclaration && declaration !is KtFunctionLiteral
}
)
class DestructureIntention : SelfTargetingRangeIntention<KtDeclaration>(
KtDeclaration::class.java,
"Simplify using destructuring declaration"
"Use destructuring declaration"
) {
override fun applyTo(element: KtDeclaration, editor: Editor?) {
val forLoop = element.parent as? KtForExpression