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
* Remove the deferred visitation `shouldVisit` checks. They are unnecessary now.
* Change `SyntaxVisitor` to a protocol. `SyntaxVisitor` was a pure abstract class, a protocol is more appropriate for it.
* Minimize casts to `Syntax`/'_SyntaxBase' during visitation to improve performance
* Introduce `SyntaxAnyVisitor` as separate protocol for clients that want to use a `visitAny(_:Syntax)` function. It is a separate protocol because this kind of visitation is 1.6x slower.
* Move `SyntaxVerifier` to a separate source file
After these changes, performance of visition has improved significantly. Depending on whether the `SyntaxVisitor` client was visiting only token nodes or all nodes, the speed-up is 5x or 6x respectively.
0 commit comments