Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: openjdk/jdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 586396cb
Choose a base ref
...
head repository: openjdk/jdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 76eccbf4
Choose a head ref
Loading
Showing with 23,476 additions and 727 deletions.
  1. +1 −1 make/autoconf/spec.gmk.template
  2. +6 −1 make/jdk/src/classes/build/tools/taglet/JSpec.java
  3. +7 −2 make/jdk/src/classes/build/tools/taglet/ToolGuide.java
  4. +8 −0 src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java
  5. +16 −0 src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java
  6. +5 −0 src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java
  7. +55 −0 src/jdk.compiler/share/classes/com/sun/source/doctree/RawTextTree.java
  8. +1 −2 src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java
  9. +13 −0 src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java
  10. +16 −0 src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java
  11. +55 −15 src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java
  12. +16 −0 src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java
  13. +170 −68 src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java
  14. +803 −162 src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java
  15. +99 −31 src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java
  16. +10 −8 src/jdk.compiler/share/classes/com/sun/tools/javac/parser/LazyDocCommentTable.java
  17. +9 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ParserFactory.java
  18. +10 −8 src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java
  19. +38 −0 src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java
  20. +4 −3 src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocCommentTable.java
  21. +16 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java
  22. +219 −75 src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java
  23. +0 −7 src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java
  24. +9 −4 src/jdk.compiler/share/classes/module-info.java
  25. +974 −0 src/jdk.internal.md/share/classes/jdk/internal/markdown/MarkdownTransformer.java
  26. +43 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/Extension.java
  27. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableBlock.java
  28. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableBody.java
  29. +74 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableCell.java
  30. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableHead.java
  31. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableRow.java
  32. +95 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TablesExtension.java
  33. +319 −0 ...ternal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableBlockParser.java
  34. +126 −0 ...l.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableHtmlNodeRenderer.java
  35. +84 −0 ...ernal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableNodeRenderer.java
  36. +103 −0 ...are/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableTextContentNodeRenderer.java
  37. +61 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockContent.java
  38. +61 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockContinueImpl.java
  39. +94 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockQuoteParser.java
  40. +83 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockStartImpl.java
  41. +96 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/Bracket.java
  42. +114 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/Delimiter.java
  43. +70 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/DocumentBlockParser.java
  44. +609 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/DocumentParser.java
  45. +164 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/FencedCodeBlockParser.java
  46. +187 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/HeadingParser.java
  47. +164 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/HtmlBlockParser.java
  48. +104 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/IndentedCodeBlockParser.java
  49. +62 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/InlineParserContextImpl.java
  50. +786 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/InlineParserImpl.java
  51. +311 −0 ...internal.md/share/classes/jdk/internal/org/commonmark/internal/LinkReferenceDefinitionParser.java
  52. +59 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/LinkReferenceDefinitions.java
  53. +288 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ListBlockParser.java
  54. +105 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ListItemParser.java
  55. +108 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ParagraphParser.java
  56. +108 −0 ...k.internal.md/share/classes/jdk/internal/org/commonmark/internal/StaggeredDelimiterProcessor.java
  57. +102 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ThematicBreakParser.java
  58. +40 −0 ...rnal.md/share/classes/jdk/internal/org/commonmark/internal/inline/AsteriskDelimiterProcessor.java
  59. +79 −0 ...k.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/AutolinkInlineParser.java
  60. +67 −0 ....internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/BackslashInlineParser.java
  61. +80 −0 ....internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/BackticksInlineParser.java
  62. +98 −0 ...rnal.md/share/classes/jdk/internal/org/commonmark/internal/inline/EmphasisDelimiterProcessor.java
  63. +85 −0 ...jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/EntityInlineParser.java
  64. +232 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/HtmlInlineParser.java
  65. +38 −0 ...dk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/InlineContentParser.java
  66. +45 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/InlineParserState.java
  67. +55 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/ParsedInline.java
  68. +53 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/ParsedInlineImpl.java
  69. +48 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/Position.java
  70. +313 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/Scanner.java
  71. +40 −0 ...al.md/share/classes/jdk/internal/org/commonmark/internal/inline/UnderscoreDelimiterProcessor.java
  72. +58 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/NodeRendererMap.java
  73. +48 −0 ...nternal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/BulletListHolder.java
  74. +59 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/ListHolder.java
  75. +58 −0 ...ternal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/OrderedListHolder.java
  76. +83 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/AsciiMatcher.java
  77. +38 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/CharMatcher.java
  78. +183 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Escaping.java
  79. +103 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Html5Entities.java
  80. +195 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/LinkScanner.java
  81. +278 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Parsing.java
  82. +2,126 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/entities.txt
  83. +173 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/AbstractVisitor.java
  84. +51 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Block.java
  85. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/BlockQuote.java
  86. +52 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/BulletList.java
  87. +58 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Code.java
  88. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/CustomBlock.java
  89. +40 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/CustomNode.java
  90. +49 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Delimited.java
  91. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Document.java
  92. +64 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Emphasis.java
  93. +91 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/FencedCodeBlock.java
  94. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HardLineBreak.java
  95. +51 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Heading.java
  96. +56 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HtmlBlock.java
  97. +56 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HtmlInline.java
  98. +73 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Image.java
  99. +51 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/IndentedCodeBlock.java
  100. +93 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Link.java
  101. +89 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/LinkReferenceDefinition.java
  102. +51 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ListBlock.java
  103. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ListItem.java
  104. +193 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Node.java
  105. +98 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Nodes.java
  106. +61 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/OrderedList.java
  107. +44 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Paragraph.java
  108. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SoftLineBreak.java
  109. +122 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SourceSpan.java
  110. +85 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SourceSpans.java
  111. +64 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/StrongEmphasis.java
  112. +63 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Text.java
  113. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ThematicBreak.java
  114. +87 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Visitor.java
  115. +36 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/package-info.java
  116. +41 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/package-info.java
  117. +54 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/IncludeSourceSpans.java
  118. +47 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParser.java
  119. +59 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParserContext.java
  120. +40 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParserFactory.java
  121. +316 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/Parser.java
  122. +45 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/PostProcessor.java
  123. +79 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/SourceLine.java
  124. +98 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/SourceLines.java
  125. +74 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/AbstractBlockParser.java
  126. +36 −0 ...nternal.md/share/classes/jdk/internal/org/commonmark/parser/block/AbstractBlockParserFactory.java
  127. +61 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockContinue.java
  128. +84 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockParser.java
  129. +44 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockParserFactory.java
  130. +59 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockStart.java
  131. +53 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/MatchedBlockParser.java
  132. +82 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/ParserState.java
  133. +36 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/package-info.java
  134. +76 −0 ...dk.internal.md/share/classes/jdk/internal/org/commonmark/parser/delimiter/DelimiterProcessor.java
  135. +90 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/delimiter/DelimiterRun.java
  136. +36 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/package-info.java
  137. +55 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/NodeRenderer.java
  138. +54 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/Renderer.java
  139. +61 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProvider.java
  140. +41 −0 ...internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProviderContext.java
  141. +47 −0 ...internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProviderFactory.java
  142. +352 −0 ...jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/CoreHtmlNodeRenderer.java
  143. +115 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/DefaultUrlSanitizer.java
  144. +93 −0 ....internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlNodeRendererContext.java
  145. +49 −0 ....internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlNodeRendererFactory.java
  146. +337 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlRenderer.java
  147. +107 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlWriter.java
  148. +62 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/UrlSanitizer.java
  149. +36 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/package-info.java
  150. +312 −0 ...ernal.md/share/classes/jdk/internal/org/commonmark/renderer/text/CoreTextContentNodeRenderer.java
  151. +57 −0 ...al.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentNodeRendererContext.java
  152. +49 −0 ...al.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentNodeRendererFactory.java
  153. +181 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentRenderer.java
  154. +99 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentWriter.java
  155. +36 −0 src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/package-info.java
  156. +77 −0 src/jdk.internal.md/share/classes/module-info.java
  157. +29 −0 src/jdk.internal.md/share/legal/commonmark.md
  158. +11 −0 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Content.java
  159. +7 −6 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandler.java
  160. +13 −15 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ExternalSpecsWriter.java
  161. +1 −0 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java
  162. +540 −164 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
  163. +6 −10 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NewAPIListWriter.java
  164. +12 −17 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java
  165. +13 −1 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java
  166. +5 −0 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Entity.java
  167. +19 −0 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java
  168. +32 −1 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/RawHtml.java
  169. +31 −18 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java
  170. +5 −0 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Text.java
  171. +8 −3 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TextBuilder.java
  172. +1 −1 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SeeTaglet.java
  173. +30 −6 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SpecTaglet.java
  174. +1 −1 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java
  175. +2 −2 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java
  176. +17 −2 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/DocFileElement.java
  177. +7 −0 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java
  178. +8 −5 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/NewAPIBuilder.java
  179. +0 −35 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java
  180. +20 −2 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java
  181. +3 −2 src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java
  182. +12 −0 src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java
  183. +2 −2 src/jdk.javadoc/share/classes/module-info.java
  184. +61 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/DivTaglet.java
  185. +61 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/SpanTaglet.java
  186. +302 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdown.java
  187. +489 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownCodeBlocks.java
  188. +391 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownCodeSpans.java
  189. +136 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownDeprecated.java
  190. +106 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownFiles.java
  191. +274 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownFirstSentence.java
  192. +344 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownHeadings.java
  193. +148 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownInheritDoc.java
  194. +349 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownLinks.java
  195. +226 −0 test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownTaglets.java
  196. +1 −1 test/langtools/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/ModuleGenerator.java
  197. +173 −0 test/langtools/jdk/javadoc/tool/testTransformer/TestTransformer.java
  198. +3 −2 test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedPackageTest.java
  199. +7 −5 test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedTest.java
  200. +107 −29 test/langtools/tools/javac/doctree/DocCommentTester.java
  201. +14 −2 test/langtools/tools/javac/doctree/ElementTest.java
  202. +13 −2 test/langtools/tools/javac/doctree/EntityTest.java
  203. +143 −1 test/langtools/tools/javac/doctree/FirstSentenceTest.java
  204. +272 −0 test/langtools/tools/javac/doctree/MDPrinter.java
  205. +617 −0 test/langtools/tools/javac/doctree/MarkdownTest.java
  206. +100 −0 test/langtools/tools/javac/doctree/MarkdownTransformerPositionTest.java
  207. +524 −0 test/langtools/tools/javac/lexer/CommentTest.java
  208. +6 −1 test/langtools/tools/javac/lib/DPrinter.java
2 changes: 1 addition & 1 deletion make/autoconf/spec.gmk.template
Original file line number Diff line number Diff line change
@@ -694,7 +694,7 @@ BUILD_JAR = @FIXPATH@ $(BUILD_JDK)/bin/jar
DOCS_REFERENCE_JAVADOC := @DOCS_REFERENCE_JAVADOC@

# Interim langtools modules and arguments
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.javadoc
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.internal.md jdk.javadoc
INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, $(INTERIM_LANGTOOLS_BASE_MODULES))
INTERIM_LANGTOOLS_ADD_EXPORTS := \
--add-exports java.base/sun.reflect.annotation=jdk.compiler.interim \
7 changes: 6 additions & 1 deletion make/jdk/src/classes/build/tools/taglet/JSpec.java
Original file line number Diff line number Diff line change
@@ -30,6 +30,8 @@
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

import javax.lang.model.element.Element;

import com.sun.source.doctree.DocTree;
@@ -157,7 +159,10 @@ public String toString(List<? extends DocTree> tags, Element elem) {
continue;
}

String tagText = contents.toString().trim();
String tagText = contents.stream()
.map(Object::toString)
.collect(Collectors.joining())
.trim();
Matcher m = TAG_PATTERN.matcher(tagText);
if (m.find()) {
String chapter = m.group("chapter");
9 changes: 7 additions & 2 deletions make/jdk/src/classes/build/tools/taglet/ToolGuide.java
Original file line number Diff line number Diff line change
@@ -30,6 +30,8 @@
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

import javax.lang.model.element.Element;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
@@ -105,8 +107,11 @@ public String toString(List<? extends DocTree> tags, Element elem) {
continue;
}

UnknownBlockTagTree blockTag = (UnknownBlockTagTree)tag;
String tagText = blockTag.getContent().toString().trim();
UnknownBlockTagTree blockTag = (UnknownBlockTagTree) tag;
String tagText = blockTag.getContent().stream()
.map(Object::toString)
.collect(Collectors.joining())
.trim();
Matcher m = TAG_PATTERN.matcher(tagText);
if (m.matches()) {
String name = m.group("name");
Original file line number Diff line number Diff line change
@@ -161,6 +161,14 @@ enum Kind {
*/
LITERAL("literal"),

/**
* Used for instances of {@link RawTextTree}
* representing a fragment of Markdown content.
*
* @since 23
*/
MARKDOWN,

/**
* Used for instances of {@link ParamTree}
* representing an {@code @param} tag.
Original file line number Diff line number Diff line change
@@ -247,6 +247,22 @@ default R visitProvides(ProvidesTree node, P p) {
return visitOther(node, p);
}

/**
* Visits a {@code RawTextTree} node.
*
* @implSpec Visits the provided {@code RawTextTree} node
* by calling {@code visitOther(node, p)}.
*
* @param node the node being visited
* @param p a parameter value
* @return a result value
*
* @since 23
*/
default R visitRawText(RawTextTree node, P p) {
return visitOther(node, p);
}

/**
* Visits a {@code ReferenceTree} node.
* @param node the node being visited
Original file line number Diff line number Diff line change
@@ -33,6 +33,11 @@
* {&#064;inheritDoc supertype}
* </pre>
*
* @apiNote
* There is no requirement that the comment containing the tag and the comment
* containing the inherited documentation should either be both Markdown comments
* or both traditional (not Markdown) comments.
*
* @since 1.8
*/
public interface InheritDocTree extends InlineTagTree {
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/

package com.sun.source.doctree;

/**
* A tree node for a fragment of uninterpreted raw text content.
*
* <p>
* The content may contain any text except that for
* {@linkplain InlineTagTree inline tags}.
*
* <p>The format of the content is indicated by the {@linkplain #getKind() kind}
* of the tree node.
*
* @apiNote
* This class may be used to represent tree nodes containing
* {@linkplain DocTree.Kind#MARKDOWN Markdown} text.
* Such nodes will typically exist in a list of {@code DocTree} nodes,
* along with other kinds of {@code DocTree} nodes, such as for inline tags.
* When processing any such list, any non-Markdown nodes will be processed
* recursively first, and then treated as opaque objects within the remaining
* stream of Markdown nodes. Thus, the content of any non-Markdown nodes will
* not affect how the Markdown nodes will be processed.
*
* @since 23
*/
public interface RawTextTree extends DocTree {
/**
* {@return the content}
*/
String getContent();
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,6 @@
* trees (AST).
*
* @spec javadoc/doc-comment-spec.html Documentation Comment Specification for the Standard Doclet
* @author Jonathan Gibbons
* @since 1.8
*
*/
Original file line number Diff line number Diff line change
@@ -52,6 +52,7 @@
import com.sun.source.doctree.InheritDocTree;
import com.sun.source.doctree.LinkTree;
import com.sun.source.doctree.LiteralTree;
import com.sun.source.doctree.RawTextTree;
import com.sun.source.doctree.ParamTree;
import com.sun.source.doctree.ProvidesTree;
import com.sun.source.doctree.ReferenceTree;
@@ -289,6 +290,18 @@ default InheritDocTree newInheritDocTree(ReferenceTree supertype) {
*/
ProvidesTree newProvidesTree(ReferenceTree name, List<? extends DocTree> description);

/**
* Creates a new {@code RawTextTree} object, to represent a fragment of uninterpreted raw text.
*
* @param kind the kind of text
* @param code the code
* @return a {@code RawTextTree} object
* @throws IllegalArgumentException if the kind is not a recognized kind for raw text
*
* @since 23
*/
RawTextTree newRawTextTree(DocTree.Kind kind, String code);

/**
* Creates a new {@code ReferenceTree} object, to represent a reference to an API element.
*
Original file line number Diff line number Diff line change
@@ -413,6 +413,22 @@ public R visitProvides(ProvidesTree node, P p) {
return r;
}

/**
* {@inheritDoc}
*
* @implSpec This implementation returns {@code null}.
*
* @param node {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of scanning
*
* @since 23
*/
@Override
public R visitRawText(RawTextTree node, P p) {
return null;
}

/**
* {@inheritDoc}
*
70 changes: 55 additions & 15 deletions src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
import java.io.IOException;
import java.text.BreakIterator;
import java.util.List;

import javax.annotation.processing.ProcessingEnvironment;
import javax.lang.model.element.Element;
import javax.lang.model.element.PackageElement;
@@ -36,9 +37,12 @@
import javax.tools.FileObject;
import javax.tools.JavaCompiler.CompilationTask;

import com.sun.source.doctree.BlockTagTree;
import com.sun.source.doctree.DocCommentTree;
import com.sun.source.doctree.DocTree;
import com.sun.source.doctree.EntityTree;
import com.sun.source.doctree.InlineTagTree;
import com.sun.source.doctree.LinkTree;
import com.sun.source.tree.CompilationUnitTree;

/**
@@ -84,6 +88,28 @@ public static DocTrees instance(ProcessingEnvironment env) {
*/
public abstract BreakIterator getBreakIterator();

/**
* The style of a documentation comment.
*
* @since 23
*/
public enum CommentKind {
/** The style of comments whose lines are prefixed by {@code ///}. */
LINE,
/** The style of comments that begin with {@code /**}. */
BLOCK
}

/**
* {@return the style of the documentation comment associated with a tree node}
*
* @param path the path for the tree node
*
* @see Trees#getPath(Element)
* @since 23
*/
public abstract CommentKind getDocCommentKind(TreePath path);

/**
* Returns the doc comment tree, if any, for the Tree node identified by a given TreePath.
* Returns {@code null} if no doc comment was found.
@@ -113,27 +139,37 @@ public static DocTrees instance(ProcessingEnvironment env) {
public abstract DocCommentTree getDocCommentTree(Element e);

/**
* Returns the doc comment tree of the given file. The file must be
* an HTML file, in which case the doc comment tree represents the
* entire contents of the file.
* Returns {@code null} if no doc comment was found.
* Returns the doc comment tree of the given file, which must
* be of one of the supported file types.
*
* <p>The supported file types are:
* <ul>
* <li>HTML files, identified by a file name ending in {@code .html},
* <li>Markdown files, identified by a file name ending in {@code .md}.
* </ul>
* Future releases may support additional file types.
*
* @implNote The default implementation of this method returns a
* new {@code DocCommentTree} instance for each invocation.
*
* @param fileObject the content container
* @return the doc comment tree
* @throws IllegalArgumentException if the file type is not supported
*
* @since 9
*/
public abstract DocCommentTree getDocCommentTree(FileObject fileObject);

/**
* Returns the doc comment tree of the given file whose path is
* specified relative to the given element. The file must be an HTML
* file, in which case the doc comment tree represents the contents
* of the &lt;body&gt; tag, and any enclosing tags are ignored.
* Returns {@code null} if no doc comment was found.
* Returns the doc comment tree of the given file, which must
* be of one of the supported file types, and whose path is
* specified relative to the given element.
*
* <p>The supported file types are:
* <ul>
* <li>HTML files, identified by a file name ending in {@code .html},
* <li>Markdown files, identified by a file name ending in {@code .md}.
* </ul>
* Future releases may support additional file types.
*
* @implNote The default implementation of this method returns a
@@ -142,16 +178,20 @@ public static DocTrees instance(ProcessingEnvironment env) {
* @param e an element whose path is used as a reference
* @param relativePath the relative path from the Element
* @return the doc comment tree
* @throws java.io.IOException if an exception occurs
* @throws IOException if an exception occurs
* @throws IllegalArgumentException if the file type is not supported
*
* @since 9
*/
public abstract DocCommentTree getDocCommentTree(Element e, String relativePath) throws IOException;

/**
* Returns a doc tree path containing the doc comment tree of the given file.
* The file must be an HTML file, in which case the doc comment tree represents
* the contents of the {@code <body>} tag, and any enclosing tags are ignored.
* Returns a doc tree path containing the doc comment tree of the given file,
* which must be of one of the supported file types.
*
* Supported file types are HTML files and Markdown files.
* Future releases may support additional file types.
*
* Any references to source code elements contained in {@code @see} and
* {@code {@link}} tags in the doc comment tree will be evaluated in the
* context of the given package element.
@@ -161,7 +201,7 @@ public static DocTrees instance(ProcessingEnvironment env) {
* @param packageElement a package element to associate with the given file object
* representing a legacy package.html, null otherwise
* @return a doc tree path containing the doc comment parsed from the given file
* @throws IllegalArgumentException if the fileObject is not an HTML file
* @throws IllegalArgumentException if the file type is not supported
*
* @since 9
*/
Original file line number Diff line number Diff line change
@@ -366,6 +366,22 @@ public R visitProvides(ProvidesTree node, P p) {
return defaultAction(node, p);
}

/**
* {@inheritDoc}
*
* @implSpec This implementation calls {@code defaultAction}.
*
* @param node {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*
* @since 23
*/
@Override
public R visitRawText(RawTextTree node, P p) {
return defaultAction(node, p);
}

/**
* {@inheritDoc}
*
Loading