Error formatting macro: pagetree: java.lang.NullPointerException
Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

Problem

The ClojureScript analyzer delivers a lot of critical information that is often handled via vars and namespaces and the metadata attached to them. The ClojureScript compiler during the analysis phase puts this information into an atom - cljs.compiler/namespaces. In order to build robust analysis tools, i.e. a ClojureScript debugger, it would beneficial to associating the missing information with the symbols stored in cljs.compiler/namespaces. Then tools can easily call functions like cljs.compiler/analyze-file and have cljs.compiler/namespace populated with the data.

Currently useful information like :line, :file, :arglists are missing. We could put this information on the symbols stored in :defs for a namespace but that would be a bit too opaque. It would easier for human readability to put what is traditionally var metadata into the clj.compiler/namespaces atom directly.

Labels: