Source-level metadata elision, applied to a staged copy of the sources before AOT. Pure: text in, text out.
The compiler's :elide-meta reaches def metadata only. An ns form's
docstring is part of a constant map the ns macro emits, so it survives into
the generated __init class verbatim.
Source-level metadata elision, applied to a staged copy of the sources before AOT. Pure: text in, text out. The compiler's :elide-meta reaches `def` metadata only. An `ns` form's docstring is part of a constant map the ns macro emits, so it survives into the generated __init class verbatim.
(clojure-source? path)True when path names a file the staging pass should rewrite.
True when `path` names a file the staging pass should rewrite.
(ns-docstring-span source)[start end) of the docstring literal in source's leading ns form, or nil
when the file does not open with an ns form that declares one.
Refuses rather than guesses: anything it cannot parse yields nil, and the file is then staged unchanged.
`[start end)` of the docstring literal in `source`'s leading ns form, or nil when the file does not open with an ns form that declares one. Refuses rather than guesses: anything it cannot parse yields nil, and the file is then staged unchanged.
(protocol-docstring-spans source)[start end) of every docstring inside a defprotocol form in source:
the protocol's own, and one per method signature. Ascending, disjoint.
Refuses rather than guesses: a form it cannot parse contributes nothing and is staged unchanged.
`[start end)` of every docstring inside a `defprotocol` form in `source`: the protocol's own, and one per method signature. Ascending, disjoint. Refuses rather than guesses: a form it cannot parse contributes nothing and is staged unchanged.
File suffixes whose ns form the staging pass rewrites.
File suffixes whose ns form the staging pass rewrites.
(without-docstrings source)source with both classes of :elide-meta-proof docstring removed: the ns
form's, and every defprotocol's.
`source` with both classes of :elide-meta-proof docstring removed: the ns form's, and every `defprotocol`'s.
(without-ns-docstring source)source with its ns docstring removed, or source unchanged when it
declares none.
Contract: the result differs from source only by the deletion of one
contiguous span, and reads as the same ns form minus its :doc.
`source` with its ns docstring removed, or `source` unchanged when it declares none. Contract: the result differs from `source` only by the deletion of one contiguous span, and reads as the same ns form minus its :doc.
(without-protocol-docstrings source)source with every defprotocol docstring removed.
Contract: the result differs from source only by deletions, and reads as
the same forms minus their doc strings. Arglists and method names stay,
being structural: the protocol does not dispatch without them.
`source` with every `defprotocol` docstring removed. Contract: the result differs from `source` only by deletions, and reads as the same forms minus their doc strings. Arglists and method names stay, being structural: the protocol does not dispatch without them.
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 |