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 plus(vararg a: Int): Test = Test()
}
val test = Test()
test.pl<caret>us()
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun plus(vararg a: Int): Test = Test()
}
val test = Test()
+test
}
@@ -0,0 +1,9 @@
fun test() {
class Test {
fun plus(): Test = Test()
fun plus(a: Test): Test = Test()
fun minus(): Test = Test()
}
val test = Test()
println(-(test + test).pl<caret>us().toString())
}
@@ -0,0 +1,9 @@
fun test() {
class Test {
fun plus(): Test = Test()
fun plus(a: Test): Test = Test()
fun minus(): Test = Test()
}
val test = Test()
println(-(+(test + test)).toString())
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun plus(a: Int=1): Test = Test()
}
val test = Test()
test.pl<caret>us()
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun plus(a: Int=1): Test = Test()
}
val test = Test()
+test
}
@@ -0,0 +1,8 @@
fun test() {
class Test()
fun Test.plus(): Test = Test()
val test = Test()
test.pl<caret>us()
}
@@ -0,0 +1,8 @@
fun test() {
class Test()
fun Test.plus(): Test = Test()
val test = Test()
+test
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
fun test() {
class Test {
fun plus(fn: () -> Unit): Test = Test()
}
val test = Test()
test.pl<caret>us {}
}
@@ -0,0 +1,8 @@
// INTENTION_TEXT: Replace with '-' prefix
fun test() {
class Test {
fun minus(): Test = Test()
}
val test = Test()
test.min<caret>us()
}
@@ -0,0 +1,8 @@
// INTENTION_TEXT: Replace with '-' prefix
fun test() {
class Test {
fun minus(): Test = Test()
}
val test = Test()
-test
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
fun test() {
class Test {
fun plus(a: Int): Test = Test()
}
val test = Test()
test.pl<caret>us(a=1)
}
@@ -0,0 +1,8 @@
// INTENTION_TEXT: Replace with '!' prefix
fun test() {
class Test {
fun not(): Test = Test()
}
val test = Test()
test.n<caret>ot()
}
@@ -0,0 +1,8 @@
// INTENTION_TEXT: Replace with '!' prefix
fun test() {
class Test {
fun not(): Test = Test()
}
val test = Test()
!test
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun plus(): Test = Test()
}
val test = Test()
+test.p<caret>lus()
}
@@ -0,0 +1,7 @@
fun test() {
class Test {
fun plus(): Test = Test()
}
val test = Test()
+(+test)
}
@@ -0,0 +1,8 @@
// INTENTION_TEXT: Replace with '+' prefix
fun test() {
class Test {
fun plus(): Test = Test()
}
val test = Test()
test.pl<caret>us()
}
@@ -0,0 +1,8 @@
// INTENTION_TEXT: Replace with '+' prefix
fun test() {
class Test {
fun plus(): Test = Test()
}
val test = Test()
+test
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
fun test() {
class Test {
fun plus<T>(): T? = this as? T
}
val test = Test()
test.p<caret>lus<Int>()
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
fun test() {
class Test {
fun plus(vararg a: Int): Test = Test()
}
val test = Test()
test.pl<caret>us(0)
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
fun test() {
class Test {
fun plus(a: Int): Test = Test()
}
val test = Test()
test.pl<caret>us(1)
}