Do not suggest "Rename to _" quick-fix for parameter of named function

#KT-14586 Fixed
This commit is contained in:
Denis Zharkov
2016-11-02 15:38:03 +03:00
parent 951868f590
commit 8aefc0db7c
4 changed files with 22 additions and 2 deletions
@@ -34,7 +34,15 @@ class RenameToUnderscoreFix(element: KtCallableDeclaration) : KotlinQuickFixActi
companion object Factory : KotlinSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
val declaration: KtCallableDeclaration? = when (diagnostic.factory) {
Errors.UNUSED_PARAMETER -> diagnostic.psiElement as? KtParameter
Errors.UNUSED_PARAMETER -> {
val parameter = diagnostic.psiElement as? KtParameter
val owner = parameter?.parent?.parent
if (owner is KtFunctionLiteral || (owner is KtNamedFunction && owner.name == null))
parameter
else
null
}
Errors.UNUSED_VARIABLE, Errors.UNUSED_DESTRUCTURED_PARAMETER_ENTRY ->
diagnostic.psiElement as? KtDestructuringDeclarationEntry
else -> null
@@ -3,7 +3,6 @@
// ACTION: Make 'Nested' internal
// ACTION: Make 'Nested' public
// ACTION: Remove parameter 'arg'
// ACTION: Rename to _
// ACTION: Convert to expression body
// ERROR: 'internal' function exposes its 'private' parameter type argument Nested
// ERROR: Cannot access 'Nested': it is private in 'Outer'
@@ -0,0 +1,7 @@
// "Rename to _" "false"
// ACTION: Convert parameter to receiver
// ACTION: Remove parameter 'x'
fun foo(x<caret>: Int) {
}
@@ -7496,6 +7496,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
doTest(fileName);
}
@TestMetadata("noActionForCommonFunction.kt")
public void testNoActionForCommonFunction() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/renameToUnderscore/noActionForCommonFunction.kt");
doTest(fileName);
}
@TestMetadata("noActionForCommonVal.kt")
public void testNoActionForCommonVal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/renameToUnderscore/noActionForCommonVal.kt");