Vixen
02b45cc4
csharp
public sealed class DocumentSyntax

The four questions everything asks a document's headers, answered over the one list they are actually stored in.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

⚠ Computed rather than stored, and that is the whole of the fix. A field each put the headers in the tree in *field* order, so a file whose @using came above its @namespace printed back with them the other way round — and byte-exact round trip is the property the incremental reparse, the formatter and every span-to-source mapping rest on. Storing them in source order and asking questions of the list costs a walk of four nodes and cannot disagree with the file.

Each is a first-one-wins search, which is what the parser guarantees: a second @namespace or @tag stops the header loop and is reported as a stray directive, so it never reaches this list.

Fields and properties (7)

Methods (7)

Used by (11)

  • BinderVixen.Ui.Markup
  • DocumentSyntaxVixen.Ui.Markup
  • ParserTestsVixen.Ui.Markup.Tests
  • RecoveryTestsVixen.Ui.Markup.Tests
  • SyntaxFactoryVixen.Ui.Markup
  • SyntaxRewriterVixen.Ui.Markup
  • SyntaxTreeVixen.Ui.Markup
  • SyntaxVisitorVixen.Ui.Markup
  • SyntaxVisitorVixen.Ui.Markup
  • VxmlVixen.Ui.Markup.Tests
  • VxmlParserVixen.Ui.Markup