I want to see class, function and variable/property, dependencies visually, like NDepend, but for ActionScript 2 or AS3 code.
Any programs or ideas?
Use doxygen in some way?
FlexUnit?
I want to see class, function and variable/property, dependencies visually, like NDepend, but for ActionScript 2 or AS3 code.
Any programs or ideas?
Use doxygen in some way?
FlexUnit?
Update Nov 2018:
It would appear that Structure101 (new download page) no longer has an ActionScript variant.
Original answer, links outdated:
Download Structure101g and select the Actionscript flavor after installing the software.
I've confirmed that it is able to map out class level and even function call dependencies in Flex/AS3 projects, and generate a visual map of the same.
Take a look at the attached screenshot.
(non-SSL link dead: i40.tinypic.com/e8qptu.png)
Hope that helps.
Far from a complete solution, but to start you may want to use flex SDK ASDoc to generate the class path structure in a single XML (thanks to the -keep-xml -skip-xsl arguments).
Thereafter you could probably get a nice result if you have a play with graphviz (http://www.graphviz.org/Resources.php).
Automating it all via ANT and you're sorted ; )
The Flex SDK compilers have a -link-report
argument that will give you some good information about the classes compiled into the SWF and their dependencies.
See Examining Linker Dependencies from the Flex 3 documentation for more information.
I was going to post a link to Big Kahuna Burger's Link Report Visualizer, but I see that darrinm has found a much better tool.
Still, could be of some use
LinkReportAIR
ItDepends, a Visual browser for class and package dependencies in Flex applications.
It lacks the visualization capabilities of NDepends but its a big step up from trying to make sense of link reports. Its source is there so if one was sufficiently motivated it could be extended with visualizations.
At runtime you an also get information about individual classes via the describeType method (Part of flash.utils). It returns an XML document that describes the class you give to it.