(definstrumenter & args)
Defines a private function for instrumenting forms.
This is like defn-
, except the metadata of the return value is
merged with that of the first input argument.
Defines a private function for instrumenting forms. This is like `defn-`, except the metadata of the return value is merged with that of the first input argument.
Set of special-forms that we don't wrap breakpoints around.
These are either forms that don't do anything interesting (like
quote
) or forms that just can't be wrapped (like catch
and
finally
).
Set of special-forms that we don't wrap breakpoints around. These are either forms that don't do anything interesting (like `quote`) or forms that just can't be wrapped (like `catch` and `finally`).
(fn-def-form? form)
(hacked-macroexpand form)
(hacked-macroexpand-1 form)
(instrument-tagged-code form ctx)
(macroexpand-all form & [original-key])
Like clojure.walk/macroexpand-all
, but preserves and macroexpands
metadata. Also store the original form (unexpanded and stripped of
metadata) in the metadata of the expanded form under original-key.
Like `clojure.walk/macroexpand-all`, but preserves and macroexpands metadata. Also store the original form (unexpanded and stripped of metadata) in the metadata of the expanded form under original-key.
(merge-meta obj & metamaps)
Non-throwing version of (vary-meta obj merge metamap-1 metamap-2 ...).
Like vary-meta
, this only applies to immutable objects. For
instance, this function does nothing on atoms, because the metadata
of an atom
is part of the atom itself and can only be changed
destructively.
Non-throwing version of (vary-meta obj merge metamap-1 metamap-2 ...). Like `vary-meta`, this only applies to immutable objects. For instance, this function does nothing on atoms, because the metadata of an `atom` is part of the atom itself and can only be changed destructively.
(print-form form & [expand? meta?])
Pretty print form. If expand? is true, macroexpand the form. If meta? is true, also print meta. This function is intended for inspection of instrumented code.
Pretty print form. If expand? is true, macroexpand the form. If meta? is true, also print meta. This function is intended for inspection of instrumented code.
(strip-meta form)
(strip-meta form keys)
Strip meta from form. If keys are provided, strip only those keys.
Strip meta from form. If keys are provided, strip only those keys.
(tag-form coor form)
(tag-form-recursively form)
Like tag-form
but also tag all forms inside the given form.
Like `tag-form` but also tag all forms inside the given form.
(target-from-env env)
(wrap-dyn-bindings {:keys [orig-form args-vec fn-name form-id form-flow-id
instrument-fn on-outer-form-fn]}
forms)
(wrap-fn-bodies [_ & arities] ctx wrapper)
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close