Skip to content

Commit

Permalink
FormatOps: find stmt starts after redundant parens
Browse files Browse the repository at this point in the history
Fixes #2712.
  • Loading branch information
tgodzik authored and kitbellew committed Aug 30, 2021
1 parent fcb4f16 commit 6a9ddaf
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class FormatOps(

private[internal] val soft = new SoftKeywordClasses(dialect)
private[internal] val statementStarts =
getStatementStarts(topSourceTree, tokens(_).left, soft)
getStatementStarts(topSourceTree, tokens.after(_).left, soft)
// Maps token to number of non-whitespace bytes before the token's position.
private final val nonWhitespaceOffset: Map[Token, Int] = {
val resultB = Map.newBuilder[Token, Int]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ object TreeOps {
val ret = Map.newBuilder[TokenHash, Tree]
ret.sizeHint(tree.tokens.length)

def addTok(token: Token, tree: Tree) = ret += hash(token) -> tree
def addTok(token: Token, tree: Tree) = ret += hash(replacedWith(token)) -> tree
def addTree(t: Tree, tree: Tree) =
t.tokens.find(!_.is[Trivia]).foreach(addTok(_, tree))
def addAll(trees: Seq[Tree]) = trees.foreach(x => addTree(x, x))
Expand Down
10 changes: 6 additions & 4 deletions scalafmt-tests/src/test/resources/rewrite/RedundantParens.stat
Original file line number Diff line number Diff line change
Expand Up @@ -751,11 +751,12 @@ class Toto() {
}
}
>>>
test does not parse
class Toto() {
private def myScalaFmtTest(): String = {
val test = new Toto "test"
^
val test = new Toto
"test"
}
}
<<< #2712 name
class Toto() {
private def myScalaFmtTest(): String = {
Expand All @@ -766,6 +767,7 @@ class Toto() {
>>>
class Toto() {
private def myScalaFmtTest(): String = {
val test = new Toto a
val test = new Toto
a
}
}

0 comments on commit 6a9ddaf

Please sign in to comment.