Formatter: support trailing comma in indexing suffix

#KT-34744
This commit is contained in:
Dmitry Gridin
2019-12-26 19:33:45 +07:00
parent c195cd46f2
commit 58058eef21
7 changed files with 803 additions and 37 deletions
@@ -0,0 +1,232 @@
// SET_TRUE: ALLOW_TRAILING_COMMA
fun foo() {
testtest[foofoo, foofoo, foofoo,
foofoo, bar]
testtest[
foofoo, foofoo, foofoo, foofoo, bar
]
testtest[foofoo, foofoo, foofoo, foofoo, bar
]
testtest[foofoo, foofoo, foofoo, foofoo,
bar
]
testtest[foofoo
]
testtest[
foofoo]
testtest[
foofoo
]
testtest[
foofoo,
]
testtest[foofoo, testtest[testtest[foofoo]]]
testtest[
foofoo, fososos, testtest[testtest[foofoo]],
]
testtest[foofoo, testtest[testtest[
foofoo,
]], testsa]
testtest[foofoo, seee, testtest[testtest[
foofoo,
]], testsa]
useCallable["A", Callable { println["Hello world"] }]
useCallable["B", "C", Callable {
println["Hello world"]
}, Callable {
println["Hello world"]
}]
useCallable[Callable { println["Hello world"] }]
useCallable[
Callable { println["Hello world"] },
]
useCallable[Callable { println["Hello world"] }
]
useCallable[Callable { println["Hello world"] }]{
}
useCallable[
Callable { println["Hello world"] }]
useCallable["A", { println["Hello world"] }]
useCallable["B", "C", {
println["Hello world"]
}, {
println["Hello world"]
}]
useCallable[{ println["Hello world"] }]
useCallable[
{ println["Hello world"] },
]
useCallable[{ println["Hello world"] }
]
useCallable[
{ println["Hello world"] }]
useCallable["A", object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}]
useCallable["A", object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}]
useCallable["B", "C", object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}, foo[
0,
]]
useCallable[object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}]
useCallable[
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
]
useCallable[object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}
]
useCallable[object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}] {
}
useCallable[
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}]
testtest[
foofoo, foofoo, foofoo, foofoo,
bar /*
*/, /* */ foo
]
testtest[/*
*/foofoo, foofoo, foofoo, /*
*/
foofoo, bar]
testtest[foofoo, foofoo, foofoo, foofoo, bar/*
*/]
testtest[foofoo, foofoo, foofoo, foofoo, bar // awdawda
]
testtest[foofoo, foofoo, foofoo, foofoo, /*
*/
bar
]
testtest[foofoo // fd
]
testtest[ /**/
foofoo
]
testtest[
foofoo,/**/
]
testtest[foofoo, foofoo, foofoo, foofoo/*
*/, /* */ bar
]
testtest[foofoo // fd
]
testtest[ /**/
foofoo
]
testtest[
foofoo,/**/
]
testtest[
foofoo, fososos,/*
*/
testtest[testtest[foofoo]],
]
testtest[foofoo, testtest[testtest[
foofoo,
]], /**/testsa]
testtest[foofoo, testtest[testtest[
foofoo,
]]/* */, /**/testsa]
testtest[foofoo, testtest[testtest[
foofoo,
]]/*
*/, testsa]
testtest[foofoo, seee, testtest[testtest[
foofoo,
]], /**/testsa]
testtest[foofoo, seee, testtest[testtest[
foofoo,
]], /*
*/testsa]
useCallable["B", "C", Callable {
println["Hello world"]
}, /* */ Callable {
println["Hello world"]
}]
useCallable[Callable { println["Hello world"] } // ffd
]
}
@@ -0,0 +1,329 @@
// SET_TRUE: ALLOW_TRAILING_COMMA
fun foo() {
testtest[
foofoo, foofoo, foofoo,
foofoo, bar,
]
testtest[
foofoo, foofoo, foofoo, foofoo, bar,
]
testtest[
foofoo, foofoo, foofoo, foofoo, bar,
]
testtest[
foofoo, foofoo, foofoo, foofoo,
bar,
]
testtest[
foofoo,
]
testtest[
foofoo,
]
testtest[
foofoo,
]
testtest[
foofoo,
]
testtest[foofoo, testtest[testtest[foofoo]]]
testtest[
foofoo, fososos, testtest[testtest[foofoo]],
]
testtest[
foofoo,
testtest[
testtest[
foofoo,
],
],
testsa,
]
testtest[
foofoo, seee,
testtest[
testtest[
foofoo,
],
],
testsa,
]
useCallable["A", Callable { println["Hello world"] }]
useCallable[
"B", "C",
Callable {
println["Hello world"]
},
Callable {
println["Hello world"]
},
]
useCallable[Callable { println["Hello world"] }]
useCallable[
Callable { println["Hello world"] },
]
useCallable[
Callable { println["Hello world"] },
]
useCallable[Callable { println["Hello world"] }]{
}
useCallable[
Callable { println["Hello world"] },
]
useCallable["A", { println["Hello world"] }]
useCallable[
"B", "C",
{
println["Hello world"]
},
{
println["Hello world"]
},
]
useCallable[{ println["Hello world"] }]
useCallable[
{ println["Hello world"] },
]
useCallable[
{ println["Hello world"] },
]
useCallable[
{ println["Hello world"] },
]
useCallable[
"A",
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
]
useCallable[
"A",
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
]
useCallable[
"B", "C",
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
foo[
0,
],
]
useCallable[
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
]
useCallable[
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
]
useCallable[
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
]
useCallable[
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
] {
}
useCallable[
object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
},
]
testtest[
foofoo, foofoo, foofoo, foofoo,
bar, /*
*/ /* */
foo,
]
testtest[
/*
*/
foofoo, foofoo, foofoo, /*
*/
foofoo, bar,
]
testtest[
foofoo, foofoo, foofoo, foofoo,
bar,/*
*/
]
testtest[
foofoo, foofoo, foofoo, foofoo, bar, // awdawda
]
testtest[
foofoo, foofoo, foofoo, foofoo, /*
*/
bar,
]
testtest[
foofoo, // fd
]
testtest[
/**/
foofoo,
]
testtest[
foofoo,/**/
]
testtest[
foofoo, foofoo, foofoo,
foofoo,/*
*/ /* */
bar,
]
testtest[
foofoo, // fd
]
testtest[
/**/
foofoo,
]
testtest[
foofoo,/**/
]
testtest[
foofoo, fososos,/*
*/
testtest[testtest[foofoo]],
]
testtest[
foofoo,
testtest[
testtest[
foofoo,
],
], /**/
testsa,
]
testtest[
foofoo,
testtest[
testtest[
foofoo,
],
],/* */ /**/
testsa,
]
testtest[
foofoo,
testtest[
testtest[
foofoo,
],
],/*
*/
testsa,
]
testtest[
foofoo, seee,
testtest[
testtest[
foofoo,
],
], /**/
testsa,
]
testtest[
foofoo, seee,
testtest[
testtest[
foofoo,
],
], /*
*/
testsa,
]
useCallable[
"B", "C",
Callable {
println["Hello world"]
}, /* */
Callable {
println["Hello world"]
},
]
useCallable[
Callable { println["Hello world"] }, // ffd
]
}
@@ -0,0 +1,171 @@
// SET_TRUE: ALLOW_TRAILING_COMMA
fun foo() {
testtest[foofoo, foofoo, foofoo,
foofoo, bar]
testtest[
foofoo, foofoo, foofoo, foofoo, bar
]
testtest[foofoo, foofoo, foofoo, foofoo, bar
]
testtest[foofoo, foofoo, foofoo, foofoo,
bar
]
testtest[foofoo
]
testtest[
foofoo]
testtest[
foofoo
]
testtest[foofoo,]
testtest[foofoo, testtest[testtest[foofoo]]]
testtest[foofoo, fososos, testtest[testtest[foofoo]],]
testtest[foofoo, testtest[testtest[foofoo,]], testsa]
testtest[foofoo, seee, testtest[testtest[foofoo,]], testsa]
useCallable["A", Callable { println["Hello world"] }]
useCallable["B", "C", Callable {
println["Hello world"]
}, Callable {
println["Hello world"]
}]
useCallable[Callable { println["Hello world"] }]
useCallable[Callable { println["Hello world"] },]
useCallable[Callable { println["Hello world"] }
]
useCallable[Callable { println["Hello world"] }]{
}
useCallable[
Callable { println["Hello world"] }]
useCallable["A", { println["Hello world"] }]
useCallable["B", "C", {
println["Hello world"]
}, {
println["Hello world"]
}]
useCallable[{ println["Hello world"] }]
useCallable[{ println["Hello world"] },]
useCallable[{ println["Hello world"] }
]
useCallable[
{ println["Hello world"] }]
useCallable["A", object : Callable<Unit> { override fun call() { println["Hello world"] } }]
useCallable["A", object : Callable<Unit> {
override fun call() {
println["Hello world"]
}
}]
useCallable["B", "C", object : Callable<Unit> { override fun call() { println["Hello world"] } }, foo[0,]]
useCallable[object : Callable<Unit> { override fun call() { println["Hello world"] } }]
useCallable[object : Callable<Unit> { override fun call() { println["Hello world"] } },]
useCallable[object : Callable<Unit> { override fun call() { println["Hello world"] } }
]
useCallable[object : Callable<Unit> { override fun call() { println["Hello world"] } }] {
}
useCallable[
object : Callable<Unit> { override fun call() { println["Hello world"] } }]
testtest[
foofoo, foofoo, foofoo, foofoo,
bar /*
*/, /* */ foo
]
testtest[/*
*/foofoo, foofoo, foofoo, /*
*/
foofoo, bar]
testtest[foofoo, foofoo, foofoo, foofoo, bar/*
*/]
testtest[foofoo, foofoo, foofoo, foofoo, bar // awdawda
]
testtest[foofoo, foofoo, foofoo, foofoo, /*
*/
bar
]
testtest[foofoo // fd
]
testtest[ /**/
foofoo
]
testtest[foofoo,/**/]
testtest[foofoo, foofoo, foofoo, foofoo/*
*/ , /* */ bar
]
testtest[foofoo // fd
]
testtest[ /**/
foofoo
]
testtest[foofoo,/**/]
testtest[foofoo, fososos,/*
*/ testtest[testtest[foofoo]],]
testtest[foofoo, testtest[testtest[foofoo,]], /**/testsa]
testtest[foofoo, testtest[testtest[foofoo,]]/* */ , /**/testsa]
testtest[foofoo, testtest[testtest[foofoo,]]/*
*/ ,testsa]
testtest[foofoo, seee, testtest[testtest[foofoo,]], /**/testsa]
testtest[foofoo, seee, testtest[testtest[foofoo,]], /*
*/testsa]
useCallable["B", "C", Callable {
println["Hello world"]
}, /* */ Callable {
println["Hello world"]
}]
useCallable[Callable { println["Hello world"] } // ffd
]
}