{
List<CULinkable> linkables = new LinkedList<CULinkable>();
for (Iterator<CompilationUnit> it = units.iterator(); it.hasNext();)
{
linkables.add( new CULinkable( it.next() ) );
}
frames = new ArrayList<Frame>();
try
{
// If only linking in inheritance dependencies then add the root class to includes
// so it ends up in the swc.
if (getInheritanceDependenciesOnly() && rootClassName != null)
includes.add(rootClassName);
DependencyWalker.LinkState state = new DependencyWalker.LinkState( linkables, externs, includes, unresolved );
final Frame frame = new Frame();
DependencyWalker.traverse( null, state, true, true, getInheritanceDependenciesOnly(),
new Visitor<Linkable>()
{
public void visit( Linkable o )
{
CULinkable l = (CULinkable) o;
exportUnitOnFrame( l.getUnit(), frame, true );
}
} );
frames.add( frame );
if (Swc.FNORD)