Recursive AST-node prune. Drops slots that no skeptic reader consumes and that would otherwise root very large per-node payloads through the locals env and analyzer-state references on deep cljs ASTs.
Removed: :env everywhere; :info everywhere except cljs :var ops,
where it is reduced to {:name ... :meta ...} (the call-symbol path at
annotate/api.clj:42 plus the Var-metadata path at
schema/collect/cljs.clj:94 / malli_spec/collect/cljs.clj:57).
Recurses through the analyzer's :children
slot the same way as the cljs intake walker; AST shape is otherwise
preserved so every existing reader of :init / :binding-init /
:fn-binding-node / :meta continues to see the fields it expects.
Recursive AST-node prune. Drops slots that no skeptic reader consumes
and that would otherwise root very large per-node payloads through the
locals env and analyzer-state references on deep cljs ASTs.
Removed: `:env` everywhere; `:info` everywhere except cljs `:var` ops,
where it is reduced to `{:name ... :meta ...}` (the call-symbol path at
`annotate/api.clj:42` plus the Var-metadata path at
`schema/collect/cljs.clj:94` / `malli_spec/collect/cljs.clj:57`).
Recurses through the analyzer's `:children`
slot the same way as the cljs intake walker; AST shape is otherwise
preserved so every existing reader of `:init` / `:binding-init` /
`:fn-binding-node` / `:meta` continues to see the fields it expects.(project-node node)Inputs: [node :- aas/AnnotatedNode] Returns: aas/AnnotatedNode
Inputs: [node :- aas/AnnotatedNode] Returns: aas/AnnotatedNode
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |