// - superclass, interface and metadata declarations, as specified in the MXML
// - public var declarations for id-attributed children of the MXML
// - user-supplied script code
LineNumberMap map = new LineNumberMap(source.getName());
Source newSource;
Logger original = ThreadLocalToolkit.getLogger();
if (mxmlConfiguration.getGenerateAbstractSyntaxTree())
{
Logger adapter = new AbstractSyntaxTreeLogAdapter(original);
ThreadLocalToolkit.setLogger(adapter);
newSource = generateSkeletonAST(docInfo, analyzer.bogusImports, source, symbolTable);
}
else
{
MxmlLogAdapter adapter = new MxmlLogAdapter(original, map);
adapter.addLineNumberMaps(unit.getSource().getSourceFragmentLineMaps());
ThreadLocalToolkit.setLogger(adapter);
newSource = generateSkeleton(docInfo, analyzer.bogusImports, map, source);
if (newSource == null)
{