Worker-side clj analyzer execution. Mirrors the env-construction and
analyze-form body that live in skeptic.analysis.annotate, with no
Skeptic / Schema / Malli dependency. The worker reads the project's own
source files with the real Clojure reader and analyzes them in bulk; no
form ever crosses host->worker (the host sends only a source-file path).
Worker-side clj analyzer execution. Mirrors the env-construction and `analyze-form` body that live in `skeptic.analysis.annotate`, with no Skeptic / Schema / Malli dependency. The worker reads the project's own source files with the real Clojure reader and analyzes them in bulk; no form ever crosses host->worker (the host sends only a source-file path).
(analyze form opts)Analyze form in ns against the project classpath. opts is a map with
optional :locals (map of sym→anything; only keys are used to seed the
analyzer's :locals) and :source-file (string). Returns a raw
tools.analyzer.jvm AST with :const :type slots stripped.
Analyze `form` in `ns` against the project classpath. `opts` is a map with optional `:locals` (map of sym→anything; only keys are used to seed the analyzer's `:locals`) and `:source-file` (string). Returns a raw tools.analyzer.jvm AST with `:const` `:type` slots stripped.
(analyze-source-file ns-sym source-file)Analyze every top-level form of source-file in namespace ns-sym. Loads
the namespace first so its refers/aliases/imports resolve (matching the host
pipeline's require-before-analyze contract). Each form is normalized
(s/defn -> plain defn) before analysis so the AST root is the :def
node def-discovery expects; the raw read form is kept as :source-form for
host-side blame/location. The worker reads its own source; no form crosses
the wire. Returns {:entries [{:source-form form :ast ast} ...]} pairing
each raw top-level form with its tools.analyzer.jvm AST (:const :type
stripped); the host projects each entry for the wire.
Analyze every top-level form of `source-file` in namespace `ns-sym`. Loads
the namespace first so its refers/aliases/imports resolve (matching the host
pipeline's require-before-analyze contract). Each form is normalized
(`s/defn` -> plain `defn`) before analysis so the AST root is the `:def`
node def-discovery expects; the raw read form is kept as `:source-form` for
host-side blame/location. The worker reads its own source; no form crosses
the wire. Returns `{:entries [{:source-form form :ast ast} ...]}` pairing
each raw top-level form with its tools.analyzer.jvm AST (`:const` `:type`
stripped); the host projects each entry for the wire.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 |