Skip to content

Commit 4a8e1d0

Browse files
committed
Handle MatchCase type and LazyRef to avoid matcherrors in documentation generation
1 parent a956774 commit 4a8e1d0

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

scaladoc/src/dotty/tools/scaladoc/tasty/TypesSupport.scala

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,17 @@ trait TypesSupport:
272272

273273
case RecursiveType(tp) => inner(tp)
274274

275+
case MatchCase(pattern, rhs) =>
276+
texts("case ") ++ inner(pattern) ++ texts(" => ") ++ inner(rhs)
277+
278+
case t: dotty.tools.dotc.core.Types.LazyRef => try {
279+
inner(t.ref(using ctx.compilerContext).asInstanceOf[TypeRepr])
280+
} catch {
281+
case e: AssertionError => texts("LazyRef(...)")
282+
}
283+
284+
case tpe => throw MatchError(tpe.show(using Printer.TypeReprStructure))
285+
275286
private def typeBound(using Quotes)(t: reflect.TypeRepr, low: Boolean) =
276287
import reflect._
277288
val ignore = if (low) t.typeSymbol == defn.NothingClass else t.typeSymbol == defn.AnyClass

0 commit comments

Comments
 (0)