File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33963396 [(defn-multi? f)
33973397 (for ([a (in-list (defn-multi-arities f))])
33983398 (check-defn-purity (defn-multi-name f) (arity-clause-body a) st f))]
3399- ;; Descend through wrapper forms (js/export, target-case, …) that may
3399+ ;; Descend through STRUCT wrapper forms that carry a defn payload.
3400+ ;; js/export / js/export-default parse to jst-export(-default) structs
3401+ ;; (not lists), so without these the EXPORTED defns — the public API,
3402+ ;; exactly what you most want the purity guarantee on — were skipped.
3403+ [(with-meta? f) (walk (with-meta-expr f))]
3404+ [(jst-export? f) (walk (jst-export-form f))]
3405+ [(jst-export-default? f) (walk (jst-export-default-form f))]
3406+ ;; Descend through list-shaped wrapper forms (target-case, …) that may
34003407 ;; carry a defn payload — same transitive walk type-check! uses.
34013408 [(and (pair? f) (list? f)) (for-each walk (filter pair? (cdr f)))]
34023409 [else (void)])))))
You can’t perform that action at this time.
0 commit comments