From 9bc36687c05f37991a4d59b4bc106005cd2ef44f Mon Sep 17 00:00:00 2001 From: Albert Meltzer <7529386+kitbellew@users.noreply.github.com> Date: Tue, 9 Apr 2024 02:02:44 -0700 Subject: [PATCH 1/2] Test inserting braces in annotation --- .../resources/rewrite/RedundantBraces.stat | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat b/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat index ded5ec9cb8..eb11874a54 100644 --- a/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat +++ b/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat @@ -1714,3 +1714,37 @@ object a { ) = Def.task(session.checkTrackedSources(sources, dirs)) tag (ScalafmtTagPack: _*) } +<<< #3912 insert braces in anno +rewrite.insertBraces.minLines = 1 +=== +@ComponentScans(value = + Array( + new ComponentScan( + value = Array("xxx.werr.werwer.fghfgfh"), + nameGenerator = classOf[BeanNameGenerator], + lazyInit = true, + ), + new ComponentScan( + value = Array("xxx.werr.werwer.dsqrtybx"), + nameGenerator = classOf[BeanNameGenerator], + lazyInit = true, + ), + ) +) +class WutAppSpringCfg extends SomeOtherStuff {} +>>> +@ComponentScans(value = { + Array( + new ComponentScan( + value = Array("xxx.werr.werwer.fghfgfh"), + nameGenerator = classOf[BeanNameGenerator], + lazyInit = true + ), + new ComponentScan( + value = Array("xxx.werr.werwer.dsqrtybx"), + nameGenerator = classOf[BeanNameGenerator], + lazyInit = true + ) + ) +}) +class WutAppSpringCfg extends SomeOtherStuff {} From 88c20589f15b0701d42d72b0f8b5426d023def20 Mon Sep 17 00:00:00 2001 From: Albert Meltzer <7529386+kitbellew@users.noreply.github.com> Date: Tue, 9 Apr 2024 02:19:52 -0700 Subject: [PATCH 2/2] FormatWriter: don't insert braces in annotation --- .../scala/org/scalafmt/internal/FormatWriter.scala | 10 +++++++++- .../src/test/resources/rewrite/RedundantBraces.stat | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala index 6e83449581..f3c09e1e91 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala @@ -371,6 +371,12 @@ class FormatWriter(formatOps: FormatOps) { else if (!x.formatToken.right.is[T.Comment]) false else hasBreakAfter(i + 1) } + @tailrec + def noAnnoFor(tree: Tree): Boolean = tree.parent match { + case Some(p @ (_: Term | _: Term.ArgClause)) => noAnnoFor(p) + case Some(p: Init) => !p.parent.exists(_.is[Mod.Annot]) + case _ => true + } val style = floc.style val ib = style.rewrite.insertBraces val ft = floc.formatToken @@ -378,7 +384,9 @@ class FormatWriter(formatOps: FormatOps) { floc.missingBracesIndent.isEmpty val mb = if (ok) formatOps.MissingBraces.getBlocks(ft, ib.allBlocks) - .filter { case (y, _) => checkInfix(y) && hasBreakAfter(idx) } + .filter { case (y, _) => + checkInfix(y) && hasBreakAfter(idx) && noAnnoFor(y) + } else None mb.foreach { case (owner, otherBlocks) => val endFt = tokens.nextNonCommentSameLine(tokens.getLast(owner)) diff --git a/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat b/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat index eb11874a54..997a84daf3 100644 --- a/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat +++ b/scalafmt-tests/src/test/resources/rewrite/RedundantBraces.stat @@ -1733,7 +1733,7 @@ rewrite.insertBraces.minLines = 1 ) class WutAppSpringCfg extends SomeOtherStuff {} >>> -@ComponentScans(value = { +@ComponentScans(value = Array( new ComponentScan( value = Array("xxx.werr.werwer.fghfgfh"), @@ -1746,5 +1746,5 @@ class WutAppSpringCfg extends SomeOtherStuff {} lazyInit = true ) ) -}) +) class WutAppSpringCfg extends SomeOtherStuff {}