A quick fix to replace tuples (expressions and types) by Unit, Pair and Triple

Changes are made to all files in the project
 This quick-fix is to be removed in the next milestone

 #KT-2358 In Progress
This commit is contained in:
Andrey Breslav
2012-09-17 20:52:52 +04:00
parent 5eaa5b396b
commit 36b5573f4d
9 changed files with 373 additions and 0 deletions
@@ -0,0 +1,53 @@
// "Migrate tuples in project: e.g., #(,) and #(,,) will be replaced by Pair and Triple" "true"
// ERROR: Tuples are not supported. Press Alt+Enter to replace tuples with library classes
// ERROR: Tuples are not supported. Press Alt+Enter to replace tuples with library classes
fun foo2() : Pair<Int, Int> {
return Pair(1, 1)
}
fun test2() {
foo2().first
foo2().second
}
fun foo3() : Triple<Int, Int, List<String>> {
return Triple(1, 1, arrayList(""))
}
fun test3() {
foo3().first
foo3().second
foo3().third
}
fun foo0(): Unit {
return Unit.VALUE
}
fun foo4(): #(Int, Int, Int, Int) {
return #(1, 2, 3, 4)
}
fun test4() {
foo4()._1
foo4()._2
foo4()._3
foo4()._4
}
fun fooRec() : Triple<Int, Pair<Int, String>, List<Pair<Int, Int>>> {
Pair(1, Pair(1, ""))
throw Exception()
}
fun foo1(): Int {
return 1
}
class Fake(val _1: Int, val _2: String)
fun testFake(f: Fake) {
f._1
f._2
}
@@ -0,0 +1,53 @@
// "Migrate tuples in project: e.g., #(,) and #(,,) will be replaced by Pair and Triple" "true"
// ERROR: Tuples are not supported. Press Alt+Enter to replace tuples with library classes
// ERROR: Tuples are not supported. Press Alt+Enter to replace tuples with library classes
fun foo2() : <caret>#(Int, Int) {
return #(1, 1)
}
fun test2() {
foo2()._1
foo2()._2
}
fun foo3() : #(Int, Int, List<String>) {
return #(1, 1, arrayList(""))
}
fun test3() {
foo3()._1
foo3()._2
foo3()._3
}
fun foo0(): #() {
return #()
}
fun foo4(): #(Int, Int, Int, Int) {
return #(1, 2, 3, 4)
}
fun test4() {
foo4()._1
foo4()._2
foo4()._3
foo4()._4
}
fun fooRec() : #(Int, #(Int, String), List<#(Int, Int)>) {
#(1, #(1, ""))
throw Exception()
}
fun foo1(): #(Int) {
return #(1)
}
class Fake(val _1: Int, val _2: String)
fun testFake(f: Fake) {
f._1
f._2
}