Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ internal enum ImportJavadoc {
SerialTag = 1 << 8,
SinceTag = 1 << 9,
VersionTag = 1 << 10,
ExtraRemarks = 1 << 11,
}

[Flags]
Expand All @@ -41,12 +42,16 @@ public enum XmldocStyle {
| ImportJavadoc.SerialTag
| ImportJavadoc.SinceTag
| ImportJavadoc.VersionTag
| ImportJavadoc.ExtraRemarks
,
IntelliSense = ImportJavadoc.Summary
| ImportJavadoc.ExceptionTag
| ImportJavadoc.ParamTag
| ImportJavadoc.ReturnTag
,
IntelliSenseAndExtraRemarks = IntelliSense
| ImportJavadoc.ExtraRemarks
,
}

public class SourceJavadocToXmldocParser : Irony.Parsing.Parser {
Expand Down Expand Up @@ -102,6 +107,9 @@ IEnumerable<XNode> CreateParseIterator (ParseTree parseTree)
(info.Remarks.Count > 0 || ExtraRemarks?.Length > 0)) {
yield return new XElement ("remarks", info.Remarks, ExtraRemarks);
}
else if (style.HasFlag (ImportJavadoc.ExtraRemarks) && ExtraRemarks?.Length > 0) {
yield return new XElement ("remarks", ExtraRemarks);
}
foreach (var n in info.Returns) {
yield return n;
}
Expand Down
1 change: 1 addition & 0 deletions tools/generator/CodeGeneratorOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ static CodeGenerationTarget ParseCodeGenerationTarget (string value)

static XmldocStyle ParseXmldocStyle (string style) => style?.ToLowerInvariant () switch {
"intellisense" => XmldocStyle.IntelliSense,
"intellisense+extraremarks" => XmldocStyle.IntelliSenseAndExtraRemarks,
"full" => XmldocStyle.Full,
_ => XmldocStyle.Full,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public static JavadocInfo CreateInfo (XElement element, XmldocStyle style)

static XElement[] GetExtra (XElement element, XmldocStyle style, string declaringJniType, string declaringMemberName, string declaringMemberJniSignature)
{
if (!style.HasFlag (XmldocStyle.Full))
if (!style.HasFlag (XmldocStyle.IntelliSenseAndExtraRemarks))
return null;

XElement javadocMetadata = null;
Expand Down Expand Up @@ -254,6 +254,7 @@ static XElement CreateAndroidDocLinkUri (string prefix, string declaringJniType,
new XAttribute ("type", "text/html"),
new XElement ("a",
new XAttribute ("href", new Uri (url.ToString ()).AbsoluteUri),
new XAttribute ("title", "Reference documentation"),
"Java documentation for ",
new XElement ("tt", java.ToString ()),
"."));
Expand Down