Liking cljdoc? Tell your friends :D

flow-storm.instrument.forms

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

build-form-instrumentation-ctxclj

(build-form-instrumentation-ctx {:keys [disable excluding-fns]}
                                form-ns
                                form
                                env)

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

expanded-def-form?clj

(expanded-def-form? form)

expanded-defmethod-form?clj

(expanded-defmethod-form? form {:keys [compiler]})

expanded-defn-form?clj

(expanded-defn-form? form)

expanded-form-typeclj

(expanded-form-type form ctx)

instrument-allclj

(instrument-all form {:keys [compiler environment] :as ctx})

instrument-outer-formclj

(instrument-outer-form ctx forms preamble)

Add some special instrumentation that is needed only on the outer form.

Add some special instrumentation that is needed only on the outer form.
raw docstring

instrument-special-case*clj

(instrument-special-case* args ctx)

instrument-special-defclj

(instrument-special-def args ctx)

instrument-special-deftype*-cljclj

(instrument-special-deftype*-clj [a1 a2 a3 a4 a5 & methods]
                                 {:keys [outer-form-kind] :as ctx})

instrument-special-dotclj

(instrument-special-dot args ctx)

instrument-special-fn*clj

(instrument-special-fn* [_ & args :as form] ctx)

instrument-special-loop*-likeclj

(instrument-special-loop*-like [name & args :as form] {:keys [disable] :as ctx})

Trace lets and loops bindings right side recursively.

Trace lets and loops bindings right side recursively.
raw docstring

instrument-special-reify*clj

(instrument-special-reify* [proto-or-interface-vec & methods] ctx)

instrument-tagged-codeclj

(instrument-tagged-code form ctx)

lazy-seq-form?clj

(lazy-seq-form? form)

macroexpand+clj

(macroexpand+ macroexpand-1-fn form)

A macroexpand version that support custom macroexpand-1-fn

A macroexpand version that support custom `macroexpand-1-fn`
raw docstring

macroexpand-allclj

(macroexpand-all macroexpand-1-fn 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

maybe-unwrap-outer-form-instrumentationclj

(maybe-unwrap-outer-form-instrumentation inst-form _)

parse-defn-expansionclj

(parse-defn-expansion defn-expanded-form)

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

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

× close