public sealed class SelectorCompilerTurns ExCSS's selector tree into the flat form the matcher runs.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
A visitor rather than a parser, which is the whole of what ADR-009 buys by taking the dependency — and which was verified against the library before this was written ([the spike](../../docs/plan/spikes/vcss-excss/RESULT.md)).
A selector using something Vixen does not support is dropped with a diagnostic rather than approximated. A rule that silently matches more than it says is worse than a rule that does not load: the first produces a UI that is subtly wrong everywhere the author did not look, and the second produces a message.
Fields and properties (1)
public IReadOnlyList<SelectorDiagnostic> DiagnosticsEverything that could not be compiled, and why.
Methods (2)
public SelectorCompiler(SelectorTable table, NameTable names)Turns ExCSS's selector tree into the flat form the matcher runs.
public void Compile(ISelector selector, List<Selector> compiled)Compiles one ExCSS selector, splitting a list into its parts.
Used by (6)
- HotReloadHostVixen.Ui.HotReload
- SelectorMatchingTestsVixen.Ui.Styling.Tests
- SelectorQueryVixen.Ui.Testing
- StyleEngineVixen.Ui.Styling
- StyleFixtureVixen.Ui.Styling.Tests
- StyleSheetLoaderVixen.Ui.Styling