Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds another visitor implementation to sort a SDL -- that is, to walk the tree and sort each list of nodes that are encountered. Some node types, such as comments and literal arrays, are left in their original order. Fortunately the implementation turned out to be quite simple to implement. This implementation has a fixed sort order, generally by name ascending, but the string comparison used can be selected, with culture-invariant case-insensitive as default. It can sort execution or definition documents. Of course, execution documents will execute differently since the execution order is defined by the order of the fields in the selection set. However, sorting definition documents will not cause any executional changes. Some lists of nodes will have a primary sort based on what makes sense, with the secondary sort being by name: