Add replacement intentions for operator functions

Add intentions for replacing attribute calls that correspond to
overloadable operators with their respective operators.

This commit includes call replacements for:
 * Binary Infix Operators: plus, minus, times, rangeTo, mod, div
 * Unary Prefix Operators: plus, minus, not
 * Array Index Operator: get
 * In Operator: contains
This commit is contained in:
Steven Allen
2014-02-27 15:57:51 -05:00
parent 08a8d17e97
commit 84a8911822
152 changed files with 1922 additions and 1 deletions
@@ -0,0 +1,8 @@
fun test() {
class Test()
fun Test.invoke(): Unit = Unit.VALUE
val test = Test()
test.i<caret>nvoke()
}
@@ -0,0 +1,8 @@
fun test() {
class Test()
fun Test.invoke(): Unit = Unit.VALUE
val test = Test()
test()
}
@@ -0,0 +1,9 @@
fun test() {
class Test {
fun invoke(fn: () -> Unit) {}
}
val test = Test()
test.i<caret>nvoke {
}
}
@@ -0,0 +1,9 @@
fun test() {
class Test {
fun invoke(fn: () -> Unit) {}
}
val test = Test()
test {
}
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, vararg b: String, fn: () -> Unit): String = "test"
}
val test = Test()
println(test.i<caret>nvoke(1, "a", "b") { })
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, vararg b: String, fn: () -> Unit): String = "test"
}
val test = Test()
println(test(1, "a", "b") { })
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, b: String) {}
}
val test = Test()
test.i<caret>nvoke(b = "s", a = 1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, b: String) {}
}
val test = Test()
test(b = "s", a = 1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke() {}
}
val test = Test()
test.i<caret>nvoke()
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke() {}
}
val test = Test()
test()
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke<T>(a: Int) {}
}
val test = Test()
test.i<caret>nvoke<Int>(0)
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke<T>(a: Int) {}
}
val test = Test()
test<Int>(0)
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke<T>(fn: () -> T) {}
}
val test = Test()
test.i<caret>nvoke<Int> { 0 }
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke<T>(fn: () -> T) {}
}
val test = Test()
test<Int> { 0 }
}
@@ -0,0 +1,9 @@
fun test() {
class Test {
fun invoke(a: Int, fn: () -> Unit) {}
}
val test = Test()
test.i<caret>nvoke(0) {
}
}
@@ -0,0 +1,9 @@
fun test() {
class Test {
fun invoke(a: Int, fn: () -> Unit) {}
}
val test = Test()
test(0) {
}
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, b: String) {}
}
val test = Test()
test.i<caret>nvoke(1, "s")
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, b: String) {}
}
val test = Test()
test(1, "s")
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, vararg b: String) {}
}
val test = Test()
test.i<caret>nvoke(1, "a", "b")
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun invoke(a: Int, vararg b: String) {}
}
val test = Test()
test(1, "a", "b")
}