From d98794479d498011247d715cffbd98d797518442 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Wed, 15 Jan 2020 17:52:50 +0700 Subject: [PATCH] kotlinSpacingRules: fix cases with EOL comments and comma #KT-34744 --- .../kotlin/idea/formatter/kotlinSpacingRules.kt | 8 ++++++++ .../comments/fieldsInitializedFromParams.kt | 15 +++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt index da2fba9d655..a4372c34154 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -233,6 +233,13 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing createSpacing(0) } } + + inPosition(left = VALUE_PARAMETER, right = COMMA).customRule { _, left, _ -> + if (left.node?.lastChildNode?.elementType === EOL_COMMENT) + createSpacing(0, minLineFeeds = 1) + else + null + } } simple { @@ -275,6 +282,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing after(DOC_COMMENT).lineBreakInCode() // =============== Spacing ================ + between(EOL_COMMENT, COMMA).lineBreakInCode() before(COMMA).spacesNoLineBreak(if (kotlinCommonSettings.SPACE_BEFORE_COMMA) 1 else 0) after(COMMA).spaceIf(kotlinCommonSettings.SPACE_AFTER_COMMA) diff --git a/j2k/testData/fileOrElement/comments/fieldsInitializedFromParams.kt b/j2k/testData/fileOrElement/comments/fieldsInitializedFromParams.kt index c2fb444e878..5941ce3034e 100644 --- a/j2k/testData/fileOrElement/comments/fieldsInitializedFromParams.kt +++ b/j2k/testData/fileOrElement/comments/fieldsInitializedFromParams.kt @@ -1,6 +1,9 @@ -internal class C(private val p1: Int /* parameter p1 */ // field p1 - , - /** - * Field myP2 - */ - private val myP2: Int, /* Field p3 */ var p3: Int) +internal class C( + private val p1: Int /* parameter p1 */ // field p1 + , + /** + * Field myP2 + */ + private val myP2: Int, /* Field p3 */ + var p3: Int +)