Skip to content

Commit

Permalink
TreeOps: revise NL-optimization around functions
Browse files Browse the repository at this point in the history
Don't call a statement:
- a single PartialFunction case
- a single function in braces, or its body
  • Loading branch information
kitbellew committed Sep 30, 2024
1 parent 135504d commit 0c673a0
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -104,12 +104,12 @@ object TreeOps {
ftoks: FormatTokens,
): Boolean = SingleArgInBraces.orBlock(parent).exists(_._2 eq expr)

def extractStatementsIfAny(
tree: Tree,
)(implicit ftoks: FormatTokens): Seq[Tree] = tree match {
case SingleArgInBraces(_, fun: Term.FunctionTerm, _) => fun :: Nil
case t: Term.FunctionTerm if isBlockFunction(t) => t.body :: Nil
def extractStatementsIfAny(tree: Tree): Seq[Tree] = tree match {
case t: Term.EnumeratorsBlock => getEnumStatements(t.enums)
case t: Term.PartialFunction => t.cases match {
case _ :: Nil => Nil
case x => x
}
case t @ Tree.Block(s) =>
if (!t.parent.is[CaseTree] || getSingleStatExceptEndMarker(s).isEmpty) s
else s.drop(1)
Expand Down
19 changes: 9 additions & 10 deletions scalafmt-tests/shared/src/test/resources/default/Idempotency.stat
Original file line number Diff line number Diff line change
Expand Up @@ -194,19 +194,18 @@ val bindingFuture = Http().bindAndHandleSync({
val responseParsingMerge = b.add {
// the initial header parser we initially use for every connection,
// will not be mutated, all "shared copy" parsers copy on first-write into the header cache
val rootParser =
new HttpResponseParser(parserSettings,
HttpHeaderParser(parserSettings) { info ⇒
if (parserSettings.illegalHeaderWarnings)
logParsingError(
info withSummaryPrepended "Illegal response header",
log,
parserSettings.errorLoggingVerbosity)
})
val rootParser = new HttpResponseParser(
parserSettings,
HttpHeaderParser(parserSettings) { info ⇒
if (parserSettings.illegalHeaderWarnings)
logParsingError(
info withSummaryPrepended "Illegal response header",
log,
parserSettings.errorLoggingVerbosity)
})
new ResponseParsingMerge(rootParser)
}

})
}
}

6 changes: 2 additions & 4 deletions scalafmt-tests/shared/src/test/resources/default/Lambda.stat
Original file line number Diff line number Diff line change
Expand Up @@ -362,8 +362,7 @@ testAsync("Resource.make is equivalent to a partially applied bracket") { implic
>>>
testAsync("Resource.make is equivalent to a partially applied bracket") { implicit ec =>
check { (acquire: IO[String], release: String => IO[Unit], f: String => IO[String] /* c1 */ ) /* c2 */ =>
/*c3*/
acquire.bracket(f)(release) <-> Resource.make(acquire)(release).use(f)
/*c3*/ acquire.bracket(f)(release) <-> Resource.make(acquire)(release).use(f)
}
}
<<< #1714 4
Expand All @@ -379,8 +378,7 @@ testAsync("Resource.make is equivalent to a partially applied bracket") { implic
>>>
testAsync("Resource.make is equivalent to a partially applied bracket") { implicit ec =>
check { (acquire: IO[String], release: String => IO[Unit], f: String => IO[String] /* c1 */ ) /* c2 */ =>
/*c3*/
{ acquire.bracket(f)(release) <-> Resource.make(acquire)(release).use(f) }
/*c3*/ { acquire.bracket(f)(release) <-> Resource.make(acquire)(release).use(f) }
}
}
<<< #1714 5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9770,13 +9770,7 @@ validateStructuralIntegrityWithReasonImpl(row, expectedSchema).map {
s"UnsafeRow status: ${getStructuralIntegrityStatus(row, expectedSchema)}"
}
>>>
Idempotency violated
=> Diff (- obtained, + expected)
-validateStructuralIntegrityWithReasonImpl(row, expectedSchema).map {
- errorMessage =>
- s"Error message is: $errorMessage, " +
- s"UnsafeRow status: ${getStructuralIntegrityStatus(row, expectedSchema)}"
+validateStructuralIntegrityWithReasonImpl(row, expectedSchema).map { errorMessage =>
+ s"Error message is: $errorMessage, " +
+ s"UnsafeRow status: ${getStructuralIntegrityStatus(row, expectedSchema)}"
}
validateStructuralIntegrityWithReasonImpl(row, expectedSchema).map { errorMessage =>
s"Error message is: $errorMessage, " +
s"UnsafeRow status: ${getStructuralIntegrityStatus(row, expectedSchema)}"
}

0 comments on commit 0c673a0

Please sign in to comment.