diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala index 31cae42ad9..be3215b8ab 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala @@ -161,8 +161,9 @@ class FormatTokens(leftTok2tok: Map[TokenHash, Int])(val arr: Array[FT]) def getLastExceptParen(tree: Tree): FT = { val tokens = tree.tokens - val last = getLastNonTrivial(tokens, tree) - getClosingIfWithinParens(last)(getHead(tokens, tree)).getOrElse(last) + val last = getLast(tokens, tree) + getClosingIfWithinParens(prevNonComment(last))(getHead(tokens, tree)) + .getOrElse(last) } final def findTokenWith[A](ft: FT, iter: FT => FT)( diff --git a/scalafmt-tests-community/spark/src/test/scala/org/scalafmt/community/spark/CommunitySparkSuite.scala b/scalafmt-tests-community/spark/src/test/scala/org/scalafmt/community/spark/CommunitySparkSuite.scala index 98c85b26c0..2de84f6f00 100644 --- a/scalafmt-tests-community/spark/src/test/scala/org/scalafmt/community/spark/CommunitySparkSuite.scala +++ b/scalafmt-tests-community/spark/src/test/scala/org/scalafmt/community/spark/CommunitySparkSuite.scala @@ -18,7 +18,7 @@ class CommunitySpark3_4Suite extends CommunitySparkSuite("spark-3.4") { class CommunitySpark3_5Suite extends CommunitySparkSuite("spark-3.5") { - override protected def totalStatesVisited: Option[Int] = Some(91352350) + override protected def totalStatesVisited: Option[Int] = Some(91352348) override protected def builds = Seq(getBuild("v3.5.3", dialects.Scala213, 2756)) diff --git a/scalafmt-tests/shared/src/test/resources/scala3/OptionalBraces_unfold.stat b/scalafmt-tests/shared/src/test/resources/scala3/OptionalBraces_unfold.stat index be0e01ef0a..fd57e5dc80 100644 --- a/scalafmt-tests/shared/src/test/resources/scala3/OptionalBraces_unfold.stat +++ b/scalafmt-tests/shared/src/test/resources/scala3/OptionalBraces_unfold.stat @@ -7925,11 +7925,12 @@ object a: case d if e => f // comment >>> -Idempotency violated -=> Diff (- obtained, + expected) - f -- // comment -+ // comment +object a: + b.c + .match + case d if e => + f + // comment <<< match without dot, trailing case comment object a: b.c match