Esempio n. 1
0
        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);
        }