diff --git a/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.HtmlBnfTerms.cs b/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.HtmlBnfTerms.cs index bf6bce2ac..51fb17151 100644 --- a/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.HtmlBnfTerms.cs +++ b/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource/SourceJavadocToXmldocGrammar.HtmlBnfTerms.cs @@ -35,6 +35,7 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar) | FormCtrlDeclaration */ | InlineHyperLinkDeclaration + | CodeElementDeclaration | grammar.InlineTagsTerms.AllInlineTerms | UnknownHtmlElementStart , @@ -136,6 +137,12 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar) var aElementValue = new XText (parseNode.ChildNodes [1].AstNode.ToString ()); parseNode.AstNode = aElementValue; }; + + CodeElementDeclaration.Rule = CreateStartElement ("code", grammar) + InlineDeclarations + CreateEndElement ("code", grammar); + CodeElementDeclaration.AstConfig.NodeCreator = (context, parseNode) => { + var target = parseNode.ChildNodes [1].AstNode; + parseNode.AstNode = new XElement ("c", target); + }; } static IEnumerable GetParagraphs (ParseTreeNodeList children) @@ -205,6 +212,7 @@ static IEnumerable GetParagraphs (ParseTreeNodeList children) public readonly NonTerminal PreBlockDeclaration = new NonTerminal (nameof (PreBlockDeclaration), ConcatChildNodes); public readonly NonTerminal InlineHyperLinkDeclaration = new NonTerminal (nameof (InlineHyperLinkDeclaration), ConcatChildNodes); public readonly NonTerminal IgnorableElementDeclaration = new NonTerminal (nameof (IgnorableElementDeclaration), ConcatChildNodes); + public readonly NonTerminal CodeElementDeclaration = new NonTerminal (nameof (CodeElementDeclaration), ConcatChildNodes); public readonly Terminal InlineHyperLinkOpenTerm = new RegexBasedTerminal (" g.HtmlTerms.CodeElementDeclaration); + + var r = p.Parse ("input.position()"); + Assert.IsFalse (r.HasErrors (), DumpMessages (r, p)); + Assert.AreEqual ("input.position()", r.Root.AstNode.ToString ()); + } + } } diff --git a/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocParserTests.cs b/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocParserTests.cs index 650cd4fc1..ceb949a75 100644 --- a/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocParserTests.cs +++ b/tests/Java.Interop.Tools.JavaSource-Tests/SourceJavadocToXmldocParserTests.cs @@ -146,14 +146,14 @@ more description here. new ParseResult { Javadoc = "Something {@link #method}: description, \"declaration\" or \"another declaration\".\n\n@apiSince 1\n", FullXml = @" - Something #method: description, ""<code>declaration</code>"" or ""<code>another declaration</code>"". + Something #method: description, ""declaration"" or ""another declaration"". - Something #method: description, ""<code>declaration</code>"" or ""<code>another declaration</code>"". + Something #method: description, ""declaration"" or ""another declaration"". Added in API level 1. ", IntelliSenseXml = @" - Something #method: description, ""<code>declaration</code>"" or ""<code>another declaration</code>"". + Something #method: description, ""declaration"" or ""another declaration"". ", }, new ParseResult {