Ejemplo n.º 1
0
        internal void Save(string path)
        {
            var settings = new XElement("Settings",
                                        new XElement("General",
                                                     new XElement("PrefixFieldIdentifierWithUnderscore", PrefixFieldIdentifierWithUnderscore)));

            if (Analyzers.Count > 0)
            {
                settings.Add(
                    new XElement("Analyzers",
                                 Analyzers
                                 .OrderBy(f => f.Key)
                                 .Select(f => new XElement("Analyzer", new XAttribute("Id", f.Key), new XAttribute("Value", f.Value)))
                                 ));
            }

            if (Refactorings.Any(f => !f.Value))
            {
                settings.Add(
                    new XElement("Refactorings",
                                 Refactorings
                                 .Where(f => !f.Value)
                                 .OrderBy(f => f.Key)
                                 .Select(f => new XElement("Refactoring", new XAttribute("Id", f.Key), new XAttribute("IsEnabled", f.Value)))
                                 ));
            }

            if (CodeFixes.Any(f => !f.Value))
            {
                settings.Add(
                    new XElement("CodeFixes",
                                 CodeFixes
                                 .Where(f => !f.Value)
                                 .OrderBy(f => f.Key)
                                 .Select(f => new XElement("CodeFix", new XAttribute("Id", f.Key), new XAttribute("IsEnabled", f.Value)))
                                 ));
            }

            if (RuleSets.Any())
            {
                settings.Add(
                    new XElement("RuleSets",
                                 RuleSets.Select(f => new XElement("RuleSet", new XAttribute("Path", f)))));
            }

            var doc = new XDocument(new XElement("Roslynator", settings));

            var xmlWriterSettings = new XmlWriterSettings()
            {
                OmitXmlDeclaration = false,
                NewLineChars       = Environment.NewLine,
                IndentChars        = "  ",
                Indent             = true,
            };

            using (var fileStream = new FileStream(path, FileMode.Create))
                using (var streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
                    using (XmlWriter xmlWriter = XmlWriter.Create(streamWriter, xmlWriterSettings))
                        doc.WriteTo(xmlWriter);
        }
Ejemplo n.º 2
0
        public override void Do()
        {
            var sym2     = Context.CodeEditor.GetQuestClassSymbol(link.Node2.Quest);
            var rewriter = new ComponentIsFinishedCallAdder(
                link.Node1.Quest,
                sym2,
                Context.Code
                );

            snapshot = Context.CodeEditor.ApplySyntaxRewriters(rewriter);

            Context.Flow.Graph.AddLink(link);

            CodeFixes.FixQuestInitializationOrder(link.Node2.Quest, Context);
        }