コード例 #1
0
ファイル: JavadocInfo.cs プロジェクト: jonpryor/java.interop
        public IEnumerable <XNode> ParseJavadoc()
        {
            if (string.IsNullOrWhiteSpace(Javadoc))
            {
                return(Enumerable.Empty <XNode> ());
            }

            Javadoc = Javadoc.Trim();

            ParseTree           tree  = null;
            IEnumerable <XNode> nodes = null;

            try {
                var parser = new SourceJavadocToXmldocParser(XmldocStyle)
                {
                    ExtraRemarks = ExtraRemarks,
                };
                nodes = parser.TryParse(Javadoc, fileName: null, out tree);
            }
            catch (Exception e) {
                Console.Error.WriteLine($"## Exception translating remarks: {e.ToString ()}");
            }

            if (tree != null && tree.HasErrors())
            {
                Console.Error.WriteLine($"## Unable to translate remarks for {MemberDescription}:");
                Console.Error.WriteLine("```");
                Console.Error.WriteLine(Javadoc);
                Console.Error.WriteLine("```");
                PrintMessages(tree, Console.Error);
                Console.Error.WriteLine();
            }

            return(nodes);
        }
コード例 #2
0
        public static void AddJavadocs(ICollection <string> comments, string javadoc)
        {
            if (string.IsNullOrWhiteSpace(javadoc))
            {
                return;
            }

            javadoc = javadoc.Trim();

            ParseTree tree = null;

            try {
                var parser = new SourceJavadocToXmldocParser();
                var nodes  = parser.TryParse(javadoc, fileName: null, out tree);
                foreach (var node in (nodes ?? new XNode [0]))
                {
                    AddNode(comments, node);
                }
            }
            catch (Exception e) {
                Console.Error.WriteLine($"## Exception translating remarks: {e.ToString ()}");
            }

            if (tree != null && tree.HasErrors())
            {
                Console.Error.WriteLine($"## Unable to translate remarks:");
                Console.Error.WriteLine("```");
                Console.Error.WriteLine(javadoc);
                Console.Error.WriteLine("```");
                PrintMessages(tree, Console.Error);
                Console.Error.WriteLine();
            }
        }
コード例 #3
0
        public void TryParse(ParseResult parseResult)
        {
            ParseTree parseTree;
            var       p = new SourceJavadocToXmldocParser(XmldocStyle.Full);
            var       n = p.TryParse(parseResult.Javadoc, null, out parseTree);

            Assert.IsFalse(parseTree.HasErrors(), DumpMessages(parseTree, p));
            Assert.AreEqual(parseResult.FullXml, GetMemberXml(n), $"while parsing input: ```{parseResult.Javadoc}```");

            p = new SourceJavadocToXmldocParser(XmldocStyle.IntelliSense);
            n = p.TryParse(parseResult.Javadoc, null, out parseTree);
            Assert.IsFalse(parseTree.HasErrors(), DumpMessages(parseTree, p));
            Assert.AreEqual(parseResult.IntelliSenseXml, GetMemberXml(n), $"while parsing input: ```{parseResult.Javadoc}```");
        }
コード例 #4
0
        public void TryParse()
        {
            foreach (var values in TryParse_Success)
            {
                ParseTree parseTree;
                var       p = new SourceJavadocToXmldocParser(XmldocStyle.Full);
                var       n = p.TryParse(values.Javadoc, null, out parseTree);
                Assert.IsFalse(parseTree.HasErrors(), DumpMessages(parseTree, p));
                Assert.AreEqual(values.FullXml, GetMemberXml(n), $"while parsing input: ```{values.Javadoc}```");

                p = new SourceJavadocToXmldocParser(XmldocStyle.IntelliSense);
                n = p.TryParse(values.Javadoc, null, out parseTree);
                Assert.IsFalse(parseTree.HasErrors(), DumpMessages(parseTree, p));
                Assert.AreEqual(values.IntelliSenseXml, GetMemberXml(n), $"while parsing input: ```{values.Javadoc}```");
            }
        }