Files
codeql/shared/yeast/src
Taus 2e74c1d83f yeast: Desugar an externally-built AST, and validate by field name
Prepare yeast for front-ends that do not parse with tree-sitter (e.g.
the swift-syntax front-end, whose parser hands us a ready-built
`yeast::Ast`):

- `Runner`/`ConcreteDesugarer` now hold `Option<tree_sitter::Language>`.
  New constructors `Runner::with_schema_no_language`,
  `ConcreteDesugarer::without_language`, and
  `DesugaringConfig::build_schema_no_language` build the schema from the
  output node-types YAML alone. The parsing entry points
  (`run`/`run_from_tree`) error when no language is present;
  `run_from_ast` needs none.

- `BuildCtx::source_text` is a small convenience for Rust-block rules
  that read a captured token's source text.

- AST-dump type validation now resolves field constraints and required
  fields by field NAME rather than by field id. A field id is local to
  the schema that assigned it, so an AST built by one schema (e.g. an
  external parser's adapter) could not be validated against another (the
  output node-types schema) without re-keying. Looking up by name keeps
  the two schemas full independent: they share field names, not ids.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-24 16:08:13 +00:00
..
2026-07-09 11:48:50 +00:00