private void ReadInputAssemblies()
{
MergedAssemblyFiles = Options.ResolveFiles();
OtherAssemblies = new List<AssemblyDefinition>();
// TODO: this could be parallelized to gain speed
var primary = MergedAssemblyFiles.FirstOrDefault();
var debugSymbolsRead = false;
foreach (string assembly in MergedAssemblyFiles)
{
var result = ReadInputAssembly(assembly, primary == assembly);
if (result.IsPrimary)
{
PrimaryAssemblyDefinition = result.Definition;
PrimaryAssemblyFile = result.Assembly;
}
else
OtherAssemblies.Add(result.Definition);
debugSymbolsRead |= result.SymbolsRead;
}
// prevent writing PDB if we haven't read any
Options.DebugInfo = debugSymbolsRead;
MergedAssemblies = new List<AssemblyDefinition>(OtherAssemblies);
MergedAssemblies.Insert(0, PrimaryAssemblyDefinition);
}