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,7 @@
fun test() {
class Test{
fun contains(vararg a: Int, b: Int = 0): Boolean = true
}
val test = Test()
test.contai<caret>ns(1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(vararg a: Int, b: Int = 0): Boolean = true
}
val test = Test()
1 in test
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(c: Int, vararg a: Int, b: Int = 0): Boolean = true
}
val test = Test()
test.contai<caret>ns(1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(c: Int, vararg a: Int, b: Int = 0): Boolean = true
}
val test = Test()
1 in test
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int, b: Int=5) : Boolean = true
}
val test = Test()
test.c<caret>ontains(1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int, b: Int=5) : Boolean = true
}
val test = Test()
1 in test
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int) : Boolean = true
}
val test = Test()
println(test.c<caret>ontains(0).toString())
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int) : Boolean = true
}
val test = Test()
println((0 in test).toString())
}
@@ -0,0 +1,6 @@
fun test() {
class Test()
fun Test.contains(a: Int) : Boolean = true
val test = Test()
test.c<caret>ontains(1)
}
@@ -0,0 +1,6 @@
fun test() {
class Test()
fun Test.contains(a: Int) : Boolean = true
val test = Test()
1 in test
}
@@ -0,0 +1,9 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test()
test.c<caret>ontains {
true
}
}
@@ -0,0 +1,9 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test();
{
true
} in test
}
@@ -0,0 +1,9 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test();
test.c<caret>ontains {
true
}
}
@@ -0,0 +1,9 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test();
{
true
} in test
}
@@ -0,0 +1,11 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test()
if (true) {
test.c<caret>ontains {
true
}
}
}
@@ -0,0 +1,11 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test()
if (true) {
{
true
} in test
}
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test()
println(test.c<caret>ontains { true }.toString())
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(fn: () -> Boolean) : Boolean = true
}
val test = Test()
println(({ true } in test).toString())
}
@@ -0,0 +1,8 @@
// SHOULD_FAIL_WITH: invalid.arguments
fun test() {
class Test{
fun contains(a: Int=1, b: Int=2): Boolean = true
}
val test = Test()
test.c<caret>ontains(c=3)
}
@@ -0,0 +1,8 @@
// SHOULD_FAIL_WITH: duplicate.or.missing.arguments
fun test() {
class Test{
fun contains(a: Int, b: Int): Boolean = true
}
val test = Test()
test.cont<caret>ains(0)
}
@@ -0,0 +1,8 @@
// SHOULD_FAIL_WITH: skipped.defaults
fun test() {
class Test{
fun contains(a: Int=1, b: Int=2) : Boolean = true
}
val test = Test()
test.contai<caret>ns(b=3)
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
fun test() {
class Test{
fun contains(a: Int, b: Int) : Boolean = true
}
val test = Test()
test.c<caret>ontains(1, 2)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int) : Boolean = true
}
val test = Test()
test.c<caret>ontains(1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int) : Boolean = true
}
val test = Test()
1 in test
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains<T>(a: T): Boolean = false
}
val test = Test()
test.contai<caret>ns<Int>(1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains<T>(a: T): Boolean = false
}
val test = Test()
1 in test
}
@@ -0,0 +1,8 @@
// SHOULD_FAIL_WITH: vararg.not.last
fun test() {
class Test{
fun contains(vararg b: Int, c: Int = 0): Boolean = true
}
val test = Test()
test.contains<caret>(c=5)
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
fun test() {
class Test{
fun contains(vararg b: Int, c: Int = 0): Boolean = true
}
val test = Test()
test.contains<caret>(0, 1)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int=1, b: Int=2) : Boolean = true
}
val test = Test()
test.c<caret>ontains(a=5)
}
@@ -0,0 +1,7 @@
fun test() {
class Test{
fun contains(a: Int=1, b: Int=2) : Boolean = true
}
val test = Test()
5 in test
}