Skip to content

Commit 693cd0d

Browse files
author
dnolen
committed
ignore exists?
1 parent 1c4eefa commit 693cd0d

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/main/clojure/cljs/analyzer.cljc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,9 @@
10381038
(when (contains? locals (-> sym name symbol))
10391039
(warning :js-shadowed-by-local env {:name sym}))
10401040
(let [pre (->> (string/split (name sym) #"\.") (map symbol) vec)]
1041-
(when-not (has-extern? pre)
1041+
(when (and (not (has-extern? pre))
1042+
;; ignore exists? usage
1043+
(not (-> sym meta ::no-resolve)))
10421044
(swap! env/*compiler* update-in
10431045
(into [::namespaces (-> env :ns :name) :externs] pre) merge {}))
10441046
(merge

src/test/clojure/cljs/analyzer_tests.clj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,12 +1085,14 @@
10851085
:externs ["src/test/externs/test.js"]
10861086
:warnings ws
10871087
:with-core? true})]
1088-
(is (empty? @ws)))
1088+
(is (empty? @ws))
1089+
(is (not (string/includes? res "cljs.core"))))
10891090
(let [ws (atom [])
10901091
res (infer-test-helper
10911092
{:forms '[(ns cjls-2767.core)
10921093
(deftype Foo [])]
10931094
:externs ["src/test/externs/test.js"]
10941095
:warnings ws
10951096
:with-core? true})]
1096-
(is (empty? @ws))))
1097+
(is (empty? @ws))
1098+
(is (not (string/includes? res "cljs.core")))))

0 commit comments

Comments
 (0)