That's the benefit of a custom analyzer, its possible to control the
process. Its best to harvest both the expanded ast and the macro
invocation ast, since both are useful.
Cheers
Navgeet
--
Navgeet Agrawal
--
--
You received this message because you are subscribed to the Google
G
Ah seems like I did not think that through.
For macros it makes sense to do analysis on their expansions. For example,
for analyzing a defn form, codeq should examine the expansion's ast. Since
I wanted to build all analysis functionality as plugins, therefore source
analysis plugins should have a
If I understand correctly, a macro invocation of the form `(expand '(+ 1
2)) => (plus 1 2)` will be analyzed as invoking the macro 'expand' on the
list (+ 1 2). The list is never analyzed to be a call to clojure.core/+. As
far as analysis like "who calls this function" are concerned, I think its
be
Hi Ambrose,
Agreed, using CinC to analyze would be the best way. However given the wish
list [1], I do not feel its suitable for me.
Btw, I meant extending Codeq's analyzer rather than rewriting
jvm.tools.analyzer.
[1]: http://dev.clojure.org/display/design/Compiler+in+Clojure
Cheers
Navgeet
--
Hi all,
I've started with the application, though it has gotten quite late. I've
explained what I intend to do in this gist -
https://gist.github.com/Navgeet/5490202
I'm kinda stuck in the last part - analysis techniques. I would appreciate
suggestions that are not too heavy to deal with, given my
Hi all, thanks for these suggestions and sorry for the late reply.
I have been looking into jvm.tools.analyze for the past few days and it
looks as a better choice to build a comprehensive analyzer. Of course the
biggest problem in using it is it likes to expand all macros fully, which
is bad for c
github.com/devn/codeq-playground/blob/master/src/com/thinkslate/codeq_playground/core.clj
[3]: https://github.com/hraberg/deuce
[4]: http://wiki.cfcl.com/bin/view/Projects/Codeq
Navgeet Agrawal
https://github.com/Navgeet
--
--
You received this message because you are subscribed to the Google