Skip to content

Commit f1ca099

Browse files
Fix NoSuchElementException in scaladoc (#18184)
This should fix the error causing recent fails of Nightly Dotty workflow. However, I don't know why it fails so randomly. We might want to investigate and fix this properly. Fixes #18143
2 parents f9247ec + 5d4af0a commit f1ca099

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

scaladoc/src/dotty/tools/scaladoc/tasty/comments/markdown/SectionRenderingExtension.scala

+5-4
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@ object SectionRenderingExtension extends HtmlRenderer.HtmlRendererExtension:
2727

2828
case class AnchorLink(link: String) extends BlankLine(BasedSequence.EmptyBasedSequence())
2929
object SectionHandler extends CustomNodeRenderer[Section]:
30-
val repeatedIds: mutable.Map[(NodeRendererContext, BasedSequence), Int] = mutable.Map()
30+
val repeatedIds: mutable.Map[(NodeRendererContext, String), Int] = mutable.Map()
3131
val idGenerator = new HeaderIdGenerator.Factory().create()
3232
override def render(node: Section, c: NodeRendererContext, html: HtmlWriter): Unit =
3333
val Section(header, body) = node
34-
val idSuffix = repeatedIds.getOrElseUpdate((c, header.getText), 0)
34+
val headerText = header.getText.toString
35+
val idSuffix = repeatedIds.getOrElseUpdate((c, headerText), 0)
3536
val ifSuffixStr = if(idSuffix == 0) then "" else idSuffix.toString
36-
repeatedIds.update((c, header.getText), repeatedIds((c, header.getText)) + 1)
37-
val id = idGenerator.getId(header.getText.append(ifSuffixStr))
37+
repeatedIds.update((c, headerText), idSuffix + 1)
38+
val id = idGenerator.getId(headerText + ifSuffixStr)
3839
val anchor = AnchorLink(s"#$id")
3940
val headerClass: String = header.getLevel match
4041
case 1 => "h500"

0 commit comments

Comments
 (0)