Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Ignore nested reference expressions in chain-method-continuation #2606

Merged
merged 1 commit into from
Mar 17, 2024

Conversation

paul-dingemans
Copy link
Collaborator

Description

Ignore nested reference expressions in chain-method-continuation

Given code:

fun buildBar1(): Foo.Bar = Foo.Bar.builder().baz().baz.build()

fun buildBar2(): Foo.Bar = Foo.bar.Bar.builder().baz().baz.build()

fun buildBar3(): Foo.Bar = Foo.bar.bar.Bar.builder().baz().baz.build()

fun buildBar4(): Foo.Bar = Foo.Bar.baz.builder().baz().baz.build()

fun buildBar5(): Foo.Bar = Foo.baz().bar.Bar.builder().build()

Is now formatted as:

fun buildBar1(): Foo.Bar =
    Foo.Bar
        .builder()
        .baz()
        .baz
        .build()

fun buildBar2(): Foo.Bar =
    Foo.bar.Bar
        .builder()
        .baz()
        .baz
        .build()

fun buildBar3(): Foo.Bar =
    Foo.bar.bar.Bar
        .builder()
        .baz()
        .baz
        .build()

fun buildBar4(): Foo.Bar =
    Foo.Bar.baz
        .builder()
        .baz()
        .baz
        .build()

fun buildBar5(): Foo.Bar =
    Foo
        .baz()
        .bar.Bar
        .builder()
        .build()

Closes #2602

Checklist

Before submitting the PR, please check following (checks which are not relevant may be ignored):

  • Commit message are well written. In addition to a short title, the commit message also explain why a change is made.
  • At least one commit message contains a reference Closes #<xxx> or Fixes #<xxx> (replace<xxx> with issue number)
  • Tests are added
  • KtLint format has been applied on source code itself and violations are fixed
  • PR title is short and clear (it is used as description in the release changelog)
  • PR description added (background information)

Documentation is updated. See difference between snapshot and release documentation

  • Snapshot documentation in case documentation is to be released together with a code change
  • Release documentation in case documentation is related to a released version of ktlint and has to be published as soon as the change is merged to master

@paul-dingemans paul-dingemans added this to the 1.2.2 milestone Mar 12, 2024
@paul-dingemans paul-dingemans merged commit 2b396bd into master Mar 17, 2024
12 checks passed
@paul-dingemans paul-dingemans deleted the 2602-chained-method-continuation branch March 17, 2024 17:36
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Do not wrap nested reference expressions in chain-method-continuation rule
1 participant