diff --git a/compiler/src/dotty/tools/dotc/core/Types.scala b/compiler/src/dotty/tools/dotc/core/Types.scala index 8c6c641a5784..5509415d827d 100644 --- a/compiler/src/dotty/tools/dotc/core/Types.scala +++ b/compiler/src/dotty/tools/dotc/core/Types.scala @@ -1523,9 +1523,9 @@ object Types { if (mySig == null) mySig = Signature.NotAMethod case designator: Symbol => uncheckedSetSym(designator) - case LocalName(underlying, space) => - myNameSpace = space - decompose(underlying) + case designator: LocalName[_] => + myNameSpace = designator.nameSpace + decompose(designator.name) } decompose(designator) this diff --git a/compiler/src/dotty/tools/repl/terminal/Utils.scala b/compiler/src/dotty/tools/repl/terminal/Utils.scala index ddf234b2bac8..e7b5dcddbe0e 100644 --- a/compiler/src/dotty/tools/repl/terminal/Utils.scala +++ b/compiler/src/dotty/tools/repl/terminal/Utils.scala @@ -178,8 +178,8 @@ object FrontEndUtils { def transpose[A](xs: List[List[A]]): List[List[A]] = { @tailrec def transpose(xs: List[List[A]], result: List[List[A]]): List[List[A]] = { xs.filter(_.nonEmpty) match { - case Nil => result - case ys: List[List[A]] => transpose(ys.map(_.tail), ys.map(_.head) :: result) + case Nil => result + case ys => transpose(ys.map(_.tail), ys.map(_.head) :: result) } } diff --git a/doc-tool/src/dotty/tools/dottydoc/model/references.scala b/doc-tool/src/dotty/tools/dottydoc/model/references.scala index a1241cf53305..46ae79e6fe58 100644 --- a/doc-tool/src/dotty/tools/dottydoc/model/references.scala +++ b/doc-tool/src/dotty/tools/dottydoc/model/references.scala @@ -28,14 +28,6 @@ object references { } final case class NoLink(title: String, target: String) extends MaterializableLink - object AndOrTypeReference { - def unapply(ref: Reference): Option[(Reference, String, Reference)] = ref match { - case OrTypeReference(left, right) => Some((left, "|", right)) - case AndTypeReference(left, right) => Some((left, "&", right)) - case _ => None - } - } - implicit class ReferenceShower(val ref: Reference) extends AnyVal { def showReference: String = ref match { case TypeReference(title, _, tparams) => @@ -44,8 +36,10 @@ object references { else "" } - case AndOrTypeReference(left, part, right) => - left.showReference + s" $part " + right.showReference + case OrTypeReference(left, right) => + left.showReference + " | " + right.showReference + case AndTypeReference(left, right) => + left.showReference + " & " + right.showReference case FunctionReference(args, ret) => if (args.isEmpty) @@ -67,6 +61,9 @@ object references { s"$title: $byName${ref.showReference}$repeated" case ConstantReference(title) => title + case EmptyReference => + assert(false, "unexpected empty reference") + "" } } } diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/tags.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/tags.scala index 5dde8261ac73..a203e77764e2 100644 --- a/doc-tool/src/dotty/tools/dottydoc/staticsite/tags.scala +++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/tags.scala @@ -79,8 +79,11 @@ object tags { else renderLink(baseurl, tpeLink) } - case AndOrTypeReference(left, sep, right) => - s"""${renderReference(left)} $sep ${renderReference(right)}""" + case OrTypeReference(left, right) => + s"""${renderReference(left)} | ${renderReference(right)}""" + + case AndTypeReference(left, right) => + s"""${renderReference(left)} & ${renderReference(right)}""" case FunctionReference(args, returnValue) => { val params =