"Use destructuring declaration" should not be available for top-level and class properties (#1205)
Fixes #KT-19167
This commit is contained in:
committed by
Dmitry Jemerov
parent
f558b4238c
commit
4c7ddbe397
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2010-2017 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -156,7 +156,7 @@ class DestructureIntention : SelfTargetingRangeIntention<KtDeclaration>(
|
|||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is KtVariableDeclaration -> parent
|
is KtProperty -> parent.takeIf { isLocal }
|
||||||
is KtFunctionLiteral -> if (!hasParameterSpecification() && lambdaSupported) this else null
|
is KtFunctionLiteral -> if (!hasParameterSpecification() && lambdaSupported) this else null
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
// IS_APPLICABLE: false
|
||||||
|
|
||||||
|
data class XY(val x: Int, val y: Int)
|
||||||
|
|
||||||
|
fun create() = XY(1, 2)
|
||||||
|
|
||||||
|
class Foo {
|
||||||
|
val xy = <caret>create()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// IS_APPLICABLE: false
|
||||||
|
|
||||||
|
data class XY(val x: Int, val y: Int)
|
||||||
|
|
||||||
|
fun create() = XY(1, 2)
|
||||||
|
|
||||||
|
val xy = <caret>create()
|
||||||
@@ -7832,6 +7832,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("classProperty.kt")
|
||||||
|
public void testClassProperty() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/destructuringVariables/classProperty.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("noInitializer.kt")
|
@TestMetadata("noInitializer.kt")
|
||||||
public void testNoInitializer() throws Exception {
|
public void testNoInitializer() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/destructuringVariables/noInitializer.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/destructuringVariables/noInitializer.kt");
|
||||||
@@ -7844,6 +7850,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("toplevel.kt")
|
||||||
|
public void testToplevel() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/destructuringVariables/toplevel.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("var.kt")
|
@TestMetadata("var.kt")
|
||||||
public void testVar() throws Exception {
|
public void testVar() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/destructuringVariables/var.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/destructuringVariables/var.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user