From ff87fc8b3fdf1596599d8eff5a8fb5c82a7a9851 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 4 Jan 2022 13:24:44 -0500 Subject: [PATCH] [Java.Interop.Tools.JavaSource] Replace TODO with To be added Partially fixes: https://github.com/xamarin/java.interop/issues/907 Replaces `[TODO: @tag]` values in generated docs with `To be added` to better mirror mdoc behavior for missing elements. Inline `{@value }` tags that contain an argument have been updated to display the argument in a `` block. These should be fixed to use an appropriate CREF element in the future, see https://github.com/xamarin/java.interop/issues/843. --- .../SourceJavadocToXmldocGrammar.InlineTagsBnfTerms.cs | 9 ++++++--- ...urceJavadocToXmldocGrammar.InlineTagsBnfTermsTests.cs | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.InlineTagsBnfTerms.cs b/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.InlineTagsBnfTerms.cs index 6c3255326..d13b68a3a 100644 --- a/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.InlineTagsBnfTerms.cs +++ b/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.InlineTagsBnfTerms.cs @@ -41,7 +41,8 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar) InheritDocDeclaration.Rule = grammar.ToTerm ("{@inheritDoc}"); InheritDocDeclaration.AstConfig.NodeCreator = (context, parseNode) => { - parseNode.AstNode = new XText ("[TODO: @inheritDoc]"); + // TODO: Iterate through parents for corresponding javadoc element. + parseNode.AstNode = new XText ("To be added"); }; LinkDeclaration.Rule = grammar.ToTerm ("{@link") + InlineValue + "}"; @@ -70,11 +71,13 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar) | grammar.ToTerm ("{@value") + InlineValue + "}"; ValueDeclaration.AstConfig.NodeCreator = (context, parseNode) => { if (parseNode.ChildNodes.Count > 1) { + // TODO: Need to convert to appropriate CREF value, use code text for now. var field = parseNode.ChildNodes [1].AstNode.ToString (); - parseNode.AstNode = new XText ($"[TODO: @value for `{field}`]"); + parseNode.AstNode = new XElement ("c", field); } else { - parseNode.AstNode = new XText ("[TODO: @value]"); + // TODO: Display the value of the corresponding static field. + parseNode.AstNode = new XText ("To be added"); } }; } diff --git a/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocGrammar.InlineTagsBnfTermsTests.cs b/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocGrammar.InlineTagsBnfTermsTests.cs index 06dcd7390..3bb4f9095 100644 --- a/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocGrammar.InlineTagsBnfTermsTests.cs +++ b/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocGrammar.InlineTagsBnfTermsTests.cs @@ -41,7 +41,7 @@ public void InheritDocDeclaration () var r = p.Parse ("{@inheritDoc}"); Assert.IsFalse (r.HasErrors (), DumpMessages (r, p)); - Assert.AreEqual ("[TODO: @inheritDoc]", r.Root.AstNode.ToString ()); + Assert.AreEqual ("To be added", r.Root.AstNode.ToString ()); } [Test] @@ -82,11 +82,11 @@ public void ValueDeclaration () var r = p.Parse ("{@value}"); Assert.IsFalse (r.HasErrors (), DumpMessages (r, p)); - Assert.AreEqual ("[TODO: @value]", r.Root.AstNode.ToString ()); + Assert.AreEqual ("To be added", r.Root.AstNode.ToString ()); r = p.Parse ("{@value #field}"); Assert.IsFalse (r.HasErrors (), DumpMessages (r, p)); - Assert.AreEqual ("[TODO: @value for `#field`]", r.Root.AstNode.ToString ()); + Assert.AreEqual ("#field", r.Root.AstNode.ToString ()); } } }