Liking cljdoc? Tell your friends :D

flow-storm.instrument

This namespace started as a fork of cider.instrument but departed a lot from it to make it work for clojurescript and to make it able to trace more stuff.

Provides utilities to recursively instrument forms for all our traces.

This namespace started as a fork of cider.instrument but
departed a lot from it to make it work for clojurescript and
to make it able to trace more stuff.

Provides utilities to recursively instrument forms for all our traces.
raw docstring

*environment*clj


definstrumentercljmacro

(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.
raw docstring

dont-break-formsclj

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`).
raw docstring

fn-def-form?clj

(fn-def-form? form)

Returns true if the form defines a fn. Like (def fname (fn* [] ...))

Returns true if the form defines a fn.
Like (def fname (fn* [] ...))
raw docstring

instrument-function-bodiesclj

(instrument-function-bodies [_ & arities] ctx wrapper)

instrument-outer-formsclj

(instrument-outer-forms {:keys [orig-form args-vec fn-name form-id form-flow-id
                                flow-id on-outer-form-fn]
                         :as ctx}
                        forms)

Add some special instrumentation that is needed only on the outer form. Like tracing the form source code, and wrapping flow-id dynamic bindings

Add some special instrumentation that is needed only on the outer form. Like
tracing the form source code, and wrapping *flow-id* dynamic bindings
raw docstring

instrument-tagged-codeclj

(instrument-tagged-code form ctx)

macroexpand-allclj

(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.
raw docstring

merge-metaclj

(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.
raw docstring

normalized-macroexpandclj

(normalized-macroexpand form)

A macroexpand version that uses normalized-macroexpand-1 instead of clojure.core/macroexpand-1

A macroexpand version that uses normalized-macroexpand-1 instead of clojure.core/macroexpand-1
raw docstring

normalized-macroexpand-1clj

(normalized-macroexpand-1 form)

A version of macroexpand-1 that works for clojure and clojurescript given it can tell from environment if we are in clojure or clojurescript

A version of macroexpand-1 that works for clojure and clojurescript
given it can tell from *environment* if we are in clojure or clojurescript
raw docstring

(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.
raw docstring

strip-metaclj

(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.
raw docstring

tag-formclj

(tag-form coor form)

tag-form-recursivelyclj

(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.
raw docstring

target-from-envclj

(target-from-env env)

Given a env map return :cljs or :clj

Given a env map return :cljs or :clj
raw docstring

unwrap-formclj

(unwrap-form inst-form)

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close