Skip to content

css_ast: Support dynamically Visiting & Parsing - #1442

Merged
keithamus merged 1 commit into
mainfrom
css-ast-support-dynamically-visiting-parsing
Aug 22, 2026
Merged

css_ast: Support dynamically Visiting & Parsing#1442
keithamus merged 1 commit into
mainfrom
css-ast-support-dynamically-visiting-parsing

Conversation

@keithamus

Copy link
Copy Markdown
Member

Consumers must have a concrete node in order to parse, and use the Visit
methods, even though it can be useful to parse with a NodeID, or just implement
a dynamic node walker. Both of these could be useful in, say, a NodeJS API.

This change adds an object-safe NodeVisitor core, with a parse dispatch which
combines a ParsedRoot which has an "ErasedNode" type, allowing APIs to
generically parse and walk a subtree without a handle on the concrete type.

Consumers must have a concrete node in order to parse, and use the Visit
methods, even though it can be useful to parse with a NodeID, or just implement
a dynamic node walker. Both of these could be useful in, say, a NodeJS API.

This change adds an object-safe NodeVisitor core, with a parse dispatch which
combines a ParsedRoot which has an "ErasedNode" type, allowing APIs to
generically parse and walk a subtree without a handle on the concrete type.
@keithamus
keithamus enabled auto-merge (squash) August 22, 2026 22:14
@github-actions

Copy link
Copy Markdown

✅ CI passed

Job Result
Build & Test (win32-x64, win32-arm64, linux-x64, linux-arm64, darwin-x64, darwin-arm64) ✅ success
Build & Test (default features) ✅ success
Build & Test (nightly) ✅ success
Build each library ✅ success
Build benches ✅ success
Acceptance Tests ✅ success
Fuzz Corpus Replay ✅ success

@keithamus
keithamus merged commit b9828b2 into main Aug 22, 2026
18 of 19 checks passed
@keithamus
keithamus deleted the css-ast-support-dynamically-visiting-parsing branch August 22, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant