Skip to content

Commit d636ddd

Browse files
committed
add new case that doesn't work
1 parent 637763f commit d636ddd

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

src/main/clojure/cljs/analyzer.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2636,7 +2636,7 @@
26362636
;; Cannot determine type of the target
26372637
(when (and (get-in env [:locals target])
26382638
(or (nil? target-tag)
2639-
('#{any} target-tag)))
2639+
('#{any} target-tag)))
26402640
(warning :infer-warning env
26412641
{:warn-type :target :form form}))
26422642
;; Unresolveable property on existing extern

src/test/clojure/cljs/analyzer_tests.clj

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,20 @@
825825
(map (comp :externs second)
826826
(get @test-cenv ::a/namespaces))))))
827827

828-
;; TODO: test (def foo (js/require "bar.js")) pattern
828+
;; FIXME: we don't get an extern for Component
829+
(let [test-cenv (atom {::a/externs (externs/externs-map
830+
(closure/load-externs
831+
{:externs ["src/test/externs/test.js"]}))})]
832+
(binding [a/*cljs-ns* a/*cljs-ns*
833+
a/*cljs-warnings* (assoc a/*cljs-warnings* :infer-warning true)]
834+
(e/with-compiler-env test-cenv
835+
(a/analyze-form-seq
836+
'[(ns foo.core)
837+
(def React (js/require "react"))
838+
(.log js/console (.-Component React))]))
839+
(cc/emit-externs
840+
(reduce util/map-merge {}
841+
(map (comp :externs second)
842+
(get @test-cenv ::a/namespaces))))))
829843

830844
)

0 commit comments

Comments
 (0)