Files
codeql/shared
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
..

CodeQL Shared Libraries

This folder contains shared, language-agnostic CodeQL libraries.

Libraries are organized into separate query packs, in order to allow for individual versioning. For example, the shared static single assignment (SSA) library exists in the codeql/ssa pack, which can be referenced by adding

dependencies:
  codeql/ssa: 0.0.1

to qlpack.yml.

All shared libraries will belong to a codeql/<name> pack, and live in the namespace codeql.<name>.