diff --git a/scaladoc/src/dotty/tools/scaladoc/tasty/TypesSupport.scala b/scaladoc/src/dotty/tools/scaladoc/tasty/TypesSupport.scala index ca61a47ef5b7..116dc25e6083 100644 --- a/scaladoc/src/dotty/tools/scaladoc/tasty/TypesSupport.scala +++ b/scaladoc/src/dotty/tools/scaladoc/tasty/TypesSupport.scala @@ -272,6 +272,20 @@ trait TypesSupport: case RecursiveType(tp) => inner(tp) + case MatchCase(pattern, rhs) => + texts("case ") ++ inner(pattern) ++ texts(" => ") ++ inner(rhs) + + case t: dotty.tools.dotc.core.Types.LazyRef => try { + inner(t.ref(using ctx.compilerContext).asInstanceOf[TypeRepr]) + } catch { + case e: AssertionError => texts("LazyRef(...)") + } + + case tpe => + val msg = s"Encountered unsupported type. Report this problem to https://github.com/lampepfl/dotty/.\n" + + s"${tpe.show(using Printer.TypeReprStructure)}" + throw MatchError(msg) + private def typeBound(using Quotes)(t: reflect.TypeRepr, low: Boolean) = import reflect._ val ignore = if (low) t.typeSymbol == defn.NothingClass else t.typeSymbol == defn.AnyClass