Skip to content

Commit

Permalink
Fix formatter to correctly convert invalid doc comments
Browse files Browse the repository at this point in the history
  • Loading branch information
haydenbaker committed May 7, 2024
1 parent 3eb39b1 commit 24c1ddd
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ public TokenTree apply(TokenTree tree) {
updateNestedChildren(cursor);
}

// Doc comments should not appear in TRAIT_STATEMENTS.
for (TreeCursor cursor : shapeSection.findChildrenByType(TreeType.TRAIT_STATEMENTS)) {
updateNestedChildren(cursor);
}

// Fix doc comments that come before apply statements.
TreeCursor shapeStatements = shapeSection.getFirstChild(TreeType.SHAPE_STATEMENTS);
if (shapeStatements != null) {
Expand All @@ -77,12 +82,6 @@ public TokenTree apply(TokenTree tree) {
updateNestedChildren(br);
}
}

// Remove trailing doc comments in member bodies.
for (TreeCursor members : shapeStatements.findChildrenByType(TreeType.SHAPE_MEMBERS)) {
TreeCursor ws = members.getLastChild(TreeType.WS);
updateDirectChildren(ws);
}
}

return tree;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package software.amazon.smithy.syntax;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.jupiter.api.Assertions.assertEquals;

import java.io.IOException;
import java.nio.file.Files;
Expand Down Expand Up @@ -54,7 +53,7 @@ public void testRunner(Path filename) {
String formatted = Formatter.format(tree, 120);
String expected = IoUtils.readUtf8File(formattedFile);

assertThat(formatted, equalTo(expected));
assertEquals(expected, formatted);
}

public static List<Path> tests() throws Exception {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@ use smithy.api#String

/// 12 (keep)
@deprecated
/// 13 (change)
// 13 (change)
structure Foo {
/// 14 (keep)
@length(
// 15 (change)
min: 1
)
/// 16 (change)
// 16 (change)
@since("1.x")
/// 17 (TODO: change)
// 17 (change)
bar: String

// 18 (change)
/// 18 (TODO: handle this case somehow)
}

// 19 (change)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ structure Foo {
)
/// 16 (change)
@since("1.x")
/// 17 (TODO: change)
/// 17 (change)
bar: String
/// 18 (change)

/// 18 (TODO: handle this case somehow)
}

/// 19 (change)
Expand Down

0 comments on commit 24c1ddd

Please sign in to comment.