File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed
Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change 14341434 cljs.analyzer/*cljs-file*)))))
14351435 (assoc m test expr)))
14361436
1437+ (defn- const? [env x]
1438+ (core/let [m (core/and (core/list? x)
1439+ (ana/resolve-var env (last x)))]
1440+ (core/when m (core/get m :const ))))
1441+
14371442(defmacro case
14381443 " Takes an expression, and a set of clauses.
14391444
14811486 (assoc-test m test expr env)))
14821487 {} (partition 2 clauses))
14831488 esym (gensym )
1484- const? #(:const (and (list? %) (ana/resolve-var env (last %))))
14851489 tests (keys pairs)]
14861490 (cond
1487- (every? (some-fn core/number? core/string? core/char? const?) tests)
1491+ (every? (some-fn core/number? core/string? core/char? #( const? env %) ) tests)
14881492 (core/let [no-default (if (odd? (count clauses)) (butlast clauses) clauses)
14891493 tests (mapv #(if (seq? %) (vec %) [%]) (take-nth 2 no-default))
14901494 thens (vec (take-nth 2 (drop 1 no-default)))]
You can’t perform that action at this time.
0 commit comments