From 2a9f883d64b9ae5219f69bbccb8c366b7206b3de Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Mon, 5 Sep 2022 21:08:49 +0200 Subject: [PATCH] [kotlin][formatter] fix indent for array indices arguments should be consistent with call arguments ^KTIJ-22690 Fixed GitOrigin-RevId: 6836783b5b34cf43413ff6960568b4c5d871b8f8 --- .../idea/formatter/KotlinCommonBlock.kt | 2 +- .../formatter/FormatterTestGenerated.java | 5 + .../formatter/ArrayAccess.after.inv.kt | 26 ++ .../testData/formatter/ArrayAccess.after.kt | 10 +- .../tests/testData/formatter/ArrayAccess.kt | 4 +- .../indices/IndicesAccess.after.inv.kt | 64 ++--- .../indices/IndicesAccess.after.kt | 64 ++--- .../indices/IndicesAccess.call.after.inv.kt | 64 ++--- .../indices/IndicesAccess.call.after.kt | 236 +++++++++--------- .../trailingComma/indices.kt.after | 2 +- 10 files changed, 256 insertions(+), 221 deletions(-) create mode 100644 plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.inv.kt diff --git a/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonBlock.kt b/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonBlock.kt index 26e4a9e3b397..b236696c4778 100644 --- a/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonBlock.kt +++ b/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonBlock.kt @@ -1027,7 +1027,7 @@ private val INDENT_RULES = arrayOf( strategy("Indices") .within(INDICES) .notForType(RBRACKET) - .set(Indent.getContinuationIndent(false)), + .continuationIf(KotlinCodeStyleSettings::CONTINUATION_INDENT_IN_ARGUMENT_LISTS), strategy("Binary expressions") .within(BINARY_EXPRESSIONS) diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java index bf4a1e6d8b3b..2ef290ea724b 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java @@ -1761,6 +1761,11 @@ public abstract class FormatterTestGenerated extends AbstractFormatterTest { runTest("testData/formatter/AnonymousInitializersLineBreak.after.inv.kt"); } + @TestMetadata("ArrayAccess.after.inv.kt") + public void testArrayAccess() throws Exception { + runTest("testData/formatter/ArrayAccess.after.inv.kt"); + } + @TestMetadata("BinaryExpressions.after.inv.kt") public void testBinaryExpressions() throws Exception { runTest("testData/formatter/BinaryExpressions.after.inv.kt"); diff --git a/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.inv.kt b/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.inv.kt new file mode 100644 index 000000000000..344833d670b5 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.inv.kt @@ -0,0 +1,26 @@ +fun test() { + a[1] + + a[1, 2] + a[1, 2] + + a[ + 1, 2 + ] + + a[ + + 1, 2 + + ] + + a[ + + + 1, 2 + + + ] +} + +// SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.kt b/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.kt index 9f74d754037e..4945ad17db3e 100644 --- a/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.kt +++ b/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.after.kt @@ -5,20 +5,22 @@ fun test() { a[1, 2] a[ - 1, 2 + 1, 2 ] a[ - 1, 2 + 1, 2 ] a[ - 1, 2 + 1, 2 ] -} \ No newline at end of file +} + +// SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.kt b/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.kt index fcf724722a1a..9a28d08f7104 100644 --- a/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.kt +++ b/plugins/kotlin/idea/tests/testData/formatter/ArrayAccess.kt @@ -24,4 +24,6 @@ fun test() { ] -} \ No newline at end of file +} + +// SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.inv.kt b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.inv.kt index 8ab35699c419..15e9e46c674c 100644 --- a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.inv.kt +++ b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.inv.kt @@ -2,27 +2,27 @@ fun foo() { testtest[foofoo, foofoo, foofoo, - foofoo, bar] + foofoo, bar] testtest[ - foofoo, foofoo, foofoo, foofoo, bar + foofoo, foofoo, foofoo, foofoo, bar ] testtest[foofoo, foofoo, foofoo, foofoo, bar ] testtest[foofoo, foofoo, foofoo, foofoo, - bar + bar ] testtest[foofoo ] testtest[ - foofoo] + foofoo] testtest[ - foofoo + foofoo ] testtest[foofoo] @@ -30,8 +30,8 @@ fun foo() { testtest[foofoo, testtest[testtest[foofoo]]] testtest[ - foofoo, fososos, - testtest[testtest[foofoo]], + foofoo, fososos, + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], testsa] @@ -51,9 +51,9 @@ fun foo() { useCallable[Callable { println["Hello world"] }] useCallable[ - Callable { - println["Hello world"] - }, + Callable { + println["Hello world"] + }, ] useCallable[Callable { println["Hello world"] } @@ -64,7 +64,7 @@ fun foo() { } useCallable[ - Callable { println["Hello world"] }] + Callable { println["Hello world"] }] useCallable["A", { println["Hello world"] }] @@ -79,14 +79,14 @@ fun foo() { useCallable[{ println["Hello world"] }] useCallable[ - { println["Hello world"] }, + { println["Hello world"] }, ] useCallable[{ println["Hello world"] } ] useCallable[ - { println["Hello world"] }] + { println["Hello world"] }] useCallable["A", object : Callable { override fun call() { @@ -113,11 +113,11 @@ fun foo() { }] useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[object : Callable { @@ -136,15 +136,15 @@ fun foo() { } useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }] + object : Callable { + override fun call() { + println["Hello world"] + } + }] testtest[ - foofoo, foofoo, foofoo, foofoo, - bar /* + foofoo, foofoo, foofoo, foofoo, + bar /* */, /* */ foo ] @@ -152,7 +152,7 @@ fun foo() { */foofoo, foofoo, foofoo, /* */ - foofoo, bar] + foofoo, bar] testtest[foofoo, foofoo, foofoo, foofoo, bar/* */] @@ -163,14 +163,14 @@ fun foo() { testtest[foofoo, foofoo, foofoo, foofoo, /* */ - bar + bar ] testtest[foofoo // fd ] testtest[ /**/ - foofoo + foofoo ] testtest[foofoo/**/] @@ -183,16 +183,16 @@ fun foo() { ] testtest[ /**/ - foofoo + foofoo ] testtest[foofoo/**/] testtest[ - foofoo, fososos, - /* + foofoo, fososos, + /* */ - testtest[testtest[foofoo]], + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], /**/testsa] diff --git a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.kt b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.kt index 8ab35699c419..15e9e46c674c 100644 --- a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.kt +++ b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.after.kt @@ -2,27 +2,27 @@ fun foo() { testtest[foofoo, foofoo, foofoo, - foofoo, bar] + foofoo, bar] testtest[ - foofoo, foofoo, foofoo, foofoo, bar + foofoo, foofoo, foofoo, foofoo, bar ] testtest[foofoo, foofoo, foofoo, foofoo, bar ] testtest[foofoo, foofoo, foofoo, foofoo, - bar + bar ] testtest[foofoo ] testtest[ - foofoo] + foofoo] testtest[ - foofoo + foofoo ] testtest[foofoo] @@ -30,8 +30,8 @@ fun foo() { testtest[foofoo, testtest[testtest[foofoo]]] testtest[ - foofoo, fososos, - testtest[testtest[foofoo]], + foofoo, fososos, + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], testsa] @@ -51,9 +51,9 @@ fun foo() { useCallable[Callable { println["Hello world"] }] useCallable[ - Callable { - println["Hello world"] - }, + Callable { + println["Hello world"] + }, ] useCallable[Callable { println["Hello world"] } @@ -64,7 +64,7 @@ fun foo() { } useCallable[ - Callable { println["Hello world"] }] + Callable { println["Hello world"] }] useCallable["A", { println["Hello world"] }] @@ -79,14 +79,14 @@ fun foo() { useCallable[{ println["Hello world"] }] useCallable[ - { println["Hello world"] }, + { println["Hello world"] }, ] useCallable[{ println["Hello world"] } ] useCallable[ - { println["Hello world"] }] + { println["Hello world"] }] useCallable["A", object : Callable { override fun call() { @@ -113,11 +113,11 @@ fun foo() { }] useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[object : Callable { @@ -136,15 +136,15 @@ fun foo() { } useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }] + object : Callable { + override fun call() { + println["Hello world"] + } + }] testtest[ - foofoo, foofoo, foofoo, foofoo, - bar /* + foofoo, foofoo, foofoo, foofoo, + bar /* */, /* */ foo ] @@ -152,7 +152,7 @@ fun foo() { */foofoo, foofoo, foofoo, /* */ - foofoo, bar] + foofoo, bar] testtest[foofoo, foofoo, foofoo, foofoo, bar/* */] @@ -163,14 +163,14 @@ fun foo() { testtest[foofoo, foofoo, foofoo, foofoo, /* */ - bar + bar ] testtest[foofoo // fd ] testtest[ /**/ - foofoo + foofoo ] testtest[foofoo/**/] @@ -183,16 +183,16 @@ fun foo() { ] testtest[ /**/ - foofoo + foofoo ] testtest[foofoo/**/] testtest[ - foofoo, fososos, - /* + foofoo, fososos, + /* */ - testtest[testtest[foofoo]], + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], /**/testsa] diff --git a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.inv.kt b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.inv.kt index 8ab35699c419..15e9e46c674c 100644 --- a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.inv.kt +++ b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.inv.kt @@ -2,27 +2,27 @@ fun foo() { testtest[foofoo, foofoo, foofoo, - foofoo, bar] + foofoo, bar] testtest[ - foofoo, foofoo, foofoo, foofoo, bar + foofoo, foofoo, foofoo, foofoo, bar ] testtest[foofoo, foofoo, foofoo, foofoo, bar ] testtest[foofoo, foofoo, foofoo, foofoo, - bar + bar ] testtest[foofoo ] testtest[ - foofoo] + foofoo] testtest[ - foofoo + foofoo ] testtest[foofoo] @@ -30,8 +30,8 @@ fun foo() { testtest[foofoo, testtest[testtest[foofoo]]] testtest[ - foofoo, fososos, - testtest[testtest[foofoo]], + foofoo, fososos, + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], testsa] @@ -51,9 +51,9 @@ fun foo() { useCallable[Callable { println["Hello world"] }] useCallable[ - Callable { - println["Hello world"] - }, + Callable { + println["Hello world"] + }, ] useCallable[Callable { println["Hello world"] } @@ -64,7 +64,7 @@ fun foo() { } useCallable[ - Callable { println["Hello world"] }] + Callable { println["Hello world"] }] useCallable["A", { println["Hello world"] }] @@ -79,14 +79,14 @@ fun foo() { useCallable[{ println["Hello world"] }] useCallable[ - { println["Hello world"] }, + { println["Hello world"] }, ] useCallable[{ println["Hello world"] } ] useCallable[ - { println["Hello world"] }] + { println["Hello world"] }] useCallable["A", object : Callable { override fun call() { @@ -113,11 +113,11 @@ fun foo() { }] useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[object : Callable { @@ -136,15 +136,15 @@ fun foo() { } useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }] + object : Callable { + override fun call() { + println["Hello world"] + } + }] testtest[ - foofoo, foofoo, foofoo, foofoo, - bar /* + foofoo, foofoo, foofoo, foofoo, + bar /* */, /* */ foo ] @@ -152,7 +152,7 @@ fun foo() { */foofoo, foofoo, foofoo, /* */ - foofoo, bar] + foofoo, bar] testtest[foofoo, foofoo, foofoo, foofoo, bar/* */] @@ -163,14 +163,14 @@ fun foo() { testtest[foofoo, foofoo, foofoo, foofoo, /* */ - bar + bar ] testtest[foofoo // fd ] testtest[ /**/ - foofoo + foofoo ] testtest[foofoo/**/] @@ -183,16 +183,16 @@ fun foo() { ] testtest[ /**/ - foofoo + foofoo ] testtest[foofoo/**/] testtest[ - foofoo, fososos, - /* + foofoo, fososos, + /* */ - testtest[testtest[foofoo]], + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], /**/testsa] diff --git a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.kt b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.kt index d3dc8610fd9f..dd6eff165c1e 100644 --- a/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.kt +++ b/plugins/kotlin/idea/tests/testData/formatter/trailingComma/indices/IndicesAccess.call.after.kt @@ -2,33 +2,33 @@ fun foo() { testtest[ - foofoo, foofoo, foofoo, - foofoo, bar, + foofoo, foofoo, foofoo, + foofoo, bar, ] testtest[ - foofoo, foofoo, foofoo, foofoo, bar, + foofoo, foofoo, foofoo, foofoo, bar, ] testtest[ - foofoo, foofoo, foofoo, foofoo, bar, + foofoo, foofoo, foofoo, foofoo, bar, ] testtest[ - foofoo, foofoo, foofoo, foofoo, - bar, + foofoo, foofoo, foofoo, foofoo, + bar, ] testtest[ - foofoo, + foofoo, ] testtest[ - foofoo, + foofoo, ] testtest[ - foofoo, + foofoo, ] testtest[foofoo] @@ -36,8 +36,8 @@ fun foo() { testtest[foofoo, testtest[testtest[foofoo]]] testtest[ - foofoo, fososos, - testtest[testtest[foofoo]], + foofoo, fososos, + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], testsa] @@ -47,13 +47,13 @@ fun foo() { useCallable["A", Callable { println["Hello world"] }] useCallable[ - "B", "C", - Callable { - println["Hello world"] - }, - Callable { - println["Hello world"] - }, + "B", "C", + Callable { + println["Hello world"] + }, + Callable { + println["Hello world"] + }, ] useCallable[Callable { println["Hello world"] }] @@ -61,13 +61,13 @@ fun foo() { useCallable[Callable { println["Hello world"] }] useCallable[ - Callable { - println["Hello world"] - }, + Callable { + println["Hello world"] + }, ] useCallable[ - Callable { println["Hello world"] }, + Callable { println["Hello world"] }, ] useCallable[Callable { println["Hello world"] }]{ @@ -75,19 +75,19 @@ fun foo() { } useCallable[ - Callable { println["Hello world"] }, + Callable { println["Hello world"] }, ] useCallable["A", { println["Hello world"] }] useCallable[ - "B", "C", - { - println["Hello world"] - }, - { - println["Hello world"] - }, + "B", "C", + { + println["Hello world"] + }, + { + println["Hello world"] + }, ] useCallable[{ println["Hello world"] }] @@ -95,157 +95,157 @@ fun foo() { useCallable[{ println["Hello world"] }] useCallable[ - { println["Hello world"] }, + { println["Hello world"] }, ] useCallable[ - { println["Hello world"] }, + { println["Hello world"] }, ] useCallable[ - { println["Hello world"] }, + { println["Hello world"] }, ] useCallable[ - "A", - object : Callable { - override fun call() { - println["Hello world"] - } - }, + "A", + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[ - "A", - object : Callable { - override fun call() { - println["Hello world"] - } - }, + "A", + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[ - "B", "C", - object : Callable { - override fun call() { - println["Hello world"] - } - }, - foo[0], + "B", "C", + object : Callable { + override fun call() { + println["Hello world"] + } + }, + foo[0], ] useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] { } useCallable[ - object : Callable { - override fun call() { - println["Hello world"] - } - }, + object : Callable { + override fun call() { + println["Hello world"] + } + }, ] testtest[ - foofoo, foofoo, foofoo, foofoo, - bar, - /* + foofoo, foofoo, foofoo, foofoo, + bar, + /* */ - /* */ foo, + /* */ foo, ] testtest[ - /* + /* */ - foofoo, foofoo, foofoo, - /* + foofoo, foofoo, foofoo, + /* */ - foofoo, bar, + foofoo, bar, ] testtest[ - foofoo, foofoo, foofoo, foofoo, bar, - /* + foofoo, foofoo, foofoo, foofoo, bar, + /* */ ] testtest[ - foofoo, foofoo, foofoo, foofoo, bar, // awdawda + foofoo, foofoo, foofoo, foofoo, bar, // awdawda ] testtest[ - foofoo, foofoo, foofoo, foofoo, - /* + foofoo, foofoo, foofoo, foofoo, + /* */ - bar, + bar, ] testtest[ - foofoo, // fd + foofoo, // fd ] testtest[ - /**/ - foofoo, + /**/ + foofoo, ] testtest[foofoo/**/] testtest[ - foofoo, foofoo, foofoo, foofoo, - /* + foofoo, foofoo, foofoo, foofoo, + /* */ - /* */ bar, + /* */ bar, ] testtest[ - foofoo, // fd + foofoo, // fd ] testtest[ - /**/ - foofoo, + /**/ + foofoo, ] testtest[foofoo/**/] testtest[ - foofoo, fososos, - /* + foofoo, fososos, + /* */ - testtest[testtest[foofoo]], + testtest[testtest[foofoo]], ] testtest[foofoo, testtest[testtest[foofoo]], /**/testsa] @@ -253,33 +253,33 @@ fun foo() { testtest[foofoo, testtest[testtest[foofoo]]/* */, /**/testsa] testtest[ - foofoo, testtest[testtest[foofoo]], - /* + foofoo, testtest[testtest[foofoo]], + /* */ - testsa, + testsa, ] testtest[foofoo, seee, testtest[testtest[foofoo]], /**/testsa] testtest[ - foofoo, seee, testtest[testtest[foofoo]], - /* + foofoo, seee, testtest[testtest[foofoo]], + /* */ - testsa, + testsa, ] useCallable[ - "B", "C", - Callable { - println["Hello world"] - }, - /* */ - Callable { - println["Hello world"] - }, + "B", "C", + Callable { + println["Hello world"] + }, + /* */ + Callable { + println["Hello world"] + }, ] useCallable[ - Callable { println["Hello world"] }, // ffd + Callable { println["Hello world"] }, // ffd ] } diff --git a/plugins/kotlin/idea/tests/testData/inspectionsLocal/trailingComma/indices.kt.after b/plugins/kotlin/idea/tests/testData/inspectionsLocal/trailingComma/indices.kt.after index 7f0494d70381..864151bd8be5 100644 --- a/plugins/kotlin/idea/tests/testData/inspectionsLocal/trailingComma/indices.kt.after +++ b/plugins/kotlin/idea/tests/testData/inspectionsLocal/trailingComma/indices.kt.after @@ -4,6 +4,6 @@ fun a() { g[ - 1, 2, 3,/**/ + 1, 2, 3,/**/ ] } \ No newline at end of file