Skip to content

Commit ceb307a

Browse files
Bruce Haumandnolen
authored andcommitted
CLJS-1648: Getting Source Info into ex-info data for Analysis Errors
1 parent 81fb24e commit ceb307a

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

src/main/clojure/cljs/analyzer.cljc

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -581,18 +581,16 @@
581581

582582
(defn source-info
583583
([env]
584-
(when-let [line (:line env)]
585-
{:file (if (= (-> env :ns :name) 'cljs.core)
586-
"cljs/core.cljs"
587-
*cljs-file*)
588-
:line (get-line name env)
589-
:column (get-col name env)}))
584+
(when (:line env)
585+
(source-info nil env)))
590586
([name env]
591-
{:file (if (= (-> env :ns :name) 'cljs.core)
592-
"cljs/core.cljs"
593-
*cljs-file*)
594-
:line (get-line name env)
595-
:column (get-col name env)}))
587+
(cond-> {:file (if (= (-> env :ns :name) 'cljs.core)
588+
"cljs/core.cljs"
589+
*cljs-file*)
590+
:line (get-line name env)
591+
:column (get-col name env)}
592+
(:root-source-info env)
593+
(merge (select-keys env [:root-source-info])))))
596594

597595
(defn message [env s]
598596
(str s

src/main/clojure/cljs/repl.cljc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,11 @@
447447
(evaluate-form repl-env env filename form wrap *repl-opts*))
448448
([repl-env env filename form wrap opts]
449449
(binding [ana/*cljs-file* filename]
450-
(let [ast (ana/analyze env form nil opts)
450+
(let [env (assoc env
451+
:root-source-info
452+
{:source-type :fragment
453+
:source-form form })
454+
ast (ana/analyze env form nil opts)
451455
js (comp/emit-str ast)
452456
def-emits-var (:def-emits-var opts)
453457
wrap-js

0 commit comments

Comments
 (0)