aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authornickreid <nickreid@google.com>2022-04-04 12:24:47 -0700
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>2022-04-04 12:24:47 -0700
commitb640331d1e623870a078df7abf0e19e8deab25e2 (patch)
tree331be4997075514ab2c54111df7f7c13a3de3894 /core
parent18990a4a460e90625bf023e8d1c95707dcaebfd5 (diff)
downloadktfmt-b640331d1e623870a078df7abf0e19e8deab25e2.tar.gz
Print a single space for empty do-while bodies. (#305)
Summary: Currently two spaces are emitted for empty bodies, because it is assumed a body will always be present. Pull Request resolved: https://github.com/facebookincubator/ktfmt/pull/305 Reviewed By: strulovich Differential Revision: D35345203 Pulled By: cgrushko fbshipit-source-id: 637a9d9a4c1c6685f833e360897f7a9d4fa955f8
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/com/facebook/ktfmt/format/KotlinInputAstVisitor.kt6
-rw-r--r--core/src/test/java/com/facebook/ktfmt/format/FormatterTest.kt2
2 files changed, 6 insertions, 2 deletions
diff --git a/core/src/main/java/com/facebook/ktfmt/format/KotlinInputAstVisitor.kt b/core/src/main/java/com/facebook/ktfmt/format/KotlinInputAstVisitor.kt
index e31650c..f96baa4 100644
--- a/core/src/main/java/com/facebook/ktfmt/format/KotlinInputAstVisitor.kt
+++ b/core/src/main/java/com/facebook/ktfmt/format/KotlinInputAstVisitor.kt
@@ -2064,8 +2064,10 @@ class KotlinInputAstVisitor(
builder.sync(expression)
builder.token("do")
builder.space()
- visit(expression.body)
- builder.space()
+ if (expression.body != null) {
+ visit(expression.body)
+ builder.space()
+ }
builder.token("while")
builder.space()
builder.token("(")
diff --git a/core/src/test/java/com/facebook/ktfmt/format/FormatterTest.kt b/core/src/test/java/com/facebook/ktfmt/format/FormatterTest.kt
index 60bad09..7296803 100644
--- a/core/src/test/java/com/facebook/ktfmt/format/FormatterTest.kt
+++ b/core/src/test/java/com/facebook/ktfmt/format/FormatterTest.kt
@@ -3025,6 +3025,8 @@ class FormatterTest {
| do {
| println("Everything is okay")
| } while (1 < 2)
+ |
+ | do while (1 < 2)
|}
|""".trimMargin())