You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This improves the description generated by the `debugDescription` function to something like the following which is easier to read IMO
```
SourceFileSyntax
├─CodeBlockItemListSyntax
│ ╰─CodeBlockItemSyntax
│ ╰─MacroExpansionExprSyntax
│ ├─pound
│ ├─identifier("stringify")
│ ├─leftParen
│ ├─TupleExprElementListSyntax
│ │ ╰─TupleExprElementSyntax
│ │ ╰─InfixOperatorExprSyntax
│ │ ├─IntegerLiteralExprSyntax
│ │ │ ╰─integerLiteral("2")
│ │ ├─BinaryOperatorExprSyntax
│ │ │ ╰─binaryOperator("+")
│ │ ╰─IntegerLiteralExprSyntax
│ │ ╰─integerLiteral("3")
│ ╰─rightParen
╰─eof
```
Since we now have this nice representation, it also removes the conformances to `CustomReflectable` (deleting 3000 lines of code :hooray:) and doing some new `CustomReflectable` hackery to make the debugger just print `debugDescription` and not try to print the node’s children itself. This way you an now do `po node` in the debugger to get the debug description from above, instead of having to do `e print(node.recursiveDescription)`
0 commit comments