Esempio n. 1
0
        static void LoadFile(string filename)
        {
            var xml = Path.ChangeExtension(Path.GetFileNameWithoutExtension(filename), "xml");

            if (File.Exists(xml))
            {
                OptionsReader.Read(options, xml);
            }
        }
Esempio n. 2
0
        static void ParseArguments(List <string> arguments)
        {
            while (arguments.Count > 0)
            {
                var token = arguments[0];
                if (token == "--")
                {
                    arguments.RemoveAt(0);
                    break;
                }
                if (!token.StartsWith("--optimizer", StringComparison.Ordinal))
                {
                    break;
                }

                arguments.RemoveAt(0);
                switch (token)
                {
                case "--optimizer":
                    if (mainModule != null)
                    {
                        Console.Error.WriteLine($"Duplicate --optimizer argument.");
                        Environment.Exit(1);
                    }
                    mainModule = arguments[0];
                    arguments.RemoveAt(0);
                    LoadFile(mainModule);
                    moduleEnabled = true;
                    continue;

                case "--optimizer-xml":
                    var filename = arguments[0];
                    arguments.RemoveAt(0);
                    OptionsReader.Read(options, filename);
                    moduleEnabled = true;
                    break;

                case "--optimizer-options":
                    options.ParseOptions(arguments[0]);
                    arguments.RemoveAt(0);
                    moduleEnabled = true;
                    break;

                case "--optimizer-report":
                    filename = arguments [0];
                    arguments.RemoveAt(0);
                    options.ReportFileName = filename;
                    break;

                case "--optimizer-ref":
                    filename = arguments [0];
                    arguments.RemoveAt(0);
                    options.AssemblyReferences.Add(filename);
                    break;
                }
            }
        }
Esempio n. 3
0
        public static void Read(OptimizerOptions options, string filename)
        {
            var settings = new XmlReaderSettings();
            var reader   = new OptionsReader(options, filename);

            using (var xml = XmlReader.Create(filename, settings)) {
                Console.WriteLine($"Reading XML description from {filename}.");
                reader.Read(new XPathDocument(xml));
            }
        }