static int Main(string[] args) { string assemblyArg = args[0]; string libPaths = args[1]; string outFile = null; if (args.Length > 2) { outFile = args[2]; } AssemblyLoader loader = new AssemblyLoader(); loader.LoadReferences(libPaths); IEnumerable <IAssemblySymbol> assemblies = loader.LoadAssemblies(assemblyArg); if (!assemblies.Any()) { Console.WriteLine($"No assemblies were found in: {assemblyArg}"); return(1); } if (loader.HasDiagnostics(out IEnumerable <Diagnostic> diagnostics)) { foreach (Diagnostic diagnostic in diagnostics) { Console.WriteLine(diagnostic.ToString()); } return(1); } using TextWriter outStream = outFile != null ? new StreamWriter(outFile) : Console.Out; SourceWriter writer = new SourceWriter(outStream); foreach (IAssemblySymbol assembly in assemblies) { writer.WriteAssembly(assembly); } return(0); }