Liking cljdoc? Tell your friends :D

tools.analyzer.js

Provides js-specific passes for tools.analyzer

Example Usage

user> (require '[clojure.tools.analyzer.js :as a]
               '[clojure.tools.analyzer.env :as env)
nil
user> (def env (a/global-env))
#'user/env
user> (env/with-env env (a/analyze 1))
{:op        :const,
 :top-level true,
 :tag       number,
 :env       {:context :ctx/statement, :locals {}, :ns cljs.user},
 :type      :number,
 :literal?  true,
 :val       1,
 :form      1}
user> (env/with-env env (a/analyze-ns 'cljs.core))
[{:op :ns ..}
 {:op :def ..}
 ..]

If clojure.tools.analyzer.js is used inside a cljs macro being expanded by cljs.analyzer, you can use cljs-env->env to populate tools.analyzer.js' global env from clojure.analyzer's one:

clojure.tools.analyzer.js> (env/ensure (env/with-env (merge (env/deref-env)
                                                            {:namespaces (cljs-env->env)}))
                                       ..)

AST Quickref

Releases and Dependency Information

Latest stable release: 0.1.0-beta4

Leiningen dependency information:

[org.clojure/tools.analyzer.js "0.1.0-beta4"]

Maven dependency information:

<dependency>
  <groupId>org.clojure</groupId>
  <artifactId>tools.analyzer.js</artifactId>
  <version>0.1.0-beta4</version>
</dependency>

Changelog

API Index

Developer Information

License

Copyright © 2014 Nicola Mometto, Rich Hickey & contributors.

Distributed under the Eclipse Public License, the same as Clojure.

Can you improve this documentation? These fine people already did:
Nicola Mometto & Alex Miller
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close