(defn core-name?
"Is sym visible from core in the current compilation namespace?"
#?(:cljs {:tag boolean})
[env sym]
(and (or (some? (gets @env/*compiler* ::namespaces 'cljs.core :defs sym))
(if-some [mac (get-expander sym env)]
(let [^Namespace ns (-> mac meta :ns)]
(= (.getName ns) #?(:clj 'cljs.core :cljs 'cljs.core$macros)))
false))
(not (contains? (-> env :ns :excludes) sym))))