Add inspection removing redundant spread operator for arrayOf call

So #KT-17920 Fixed
This commit is contained in:
shiraji
2017-06-14 04:52:22 +03:00
committed by Mikhail Glukhikh
parent ce55d9e364
commit cbccf932a7
36 changed files with 352 additions and 13 deletions
@@ -0,0 +1 @@
org.jetbrains.kotlin.idea.inspections.RemoveRedundantSpreadOperatorInspection
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo(*arrayOf<caret>("abc"))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo("abc")
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Boolean) {}
fun bar() {
foo(*booleanArrayOf<caret>(true, true))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Boolean) {}
fun bar() {
foo(true, true)
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Byte) {}
fun bar() {
foo(*byteArrayOf<caret>(1))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Byte) {}
fun bar() {
foo(1)
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Char) {}
fun bar() {
foo(*charArrayOf<caret>('a', 'b'))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Char) {}
fun bar() {
foo('a', 'b')
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Double) {}
fun bar() {
foo(*doubleArrayOf<caret>(1.0))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Double) {}
fun bar() {
foo(1.0)
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo(*emptyArray<caret><String>())
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo()
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Float) {}
fun bar() {
foo(*floatArrayOf<caret>(1.0f))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Float) {}
fun bar() {
foo(1.0f)
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Int) {}
fun bar() {
foo(*intArrayOf<caret>(1))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Int) {}
fun bar() {
foo(1)
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Long) {}
fun bar() {
foo(*longArrayOf<caret>(1L))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Long) {}
fun bar() {
foo(1L)
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo(*arrayOf<caret>("abc", "def"))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo("abc", "def")
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo(*arrayOf<caret>("abc", "def"), "ghi", "jkl")
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo("abc", "def", "ghi", "jkl")
}
@@ -0,0 +1,8 @@
// PROBLEM: none
fun foo(vararg x: String) {}
fun bar() {
// We do not want to apply inspection here, because named argument is lost
foo(x = *arrayOf<caret>("abc"))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo(*arrayOf<caret>(elements = "abc"))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo("abc")
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo(*arrayOf<caret>())
}
@@ -0,0 +1,5 @@
fun foo(vararg x: String) {}
fun bar() {
foo()
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Short) {}
fun bar() {
foo(*shortArrayOf<caret>(1))
}
@@ -0,0 +1,5 @@
fun foo(vararg x: Short) {}
fun bar() {
foo(1)
}