From 8163be4c04f67f29ee5a2a717bc6b18c0bc807e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Zyba=C5=82a?= Date: Fri, 22 Oct 2021 16:17:23 +0200 Subject: [PATCH] Fix missing known subtypes --- .../src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala | 5 ++++- .../transformers/InheritanceInformationTransformer.scala | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala b/scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala index 09d71021a6f5..de3cb429922b 100644 --- a/scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala +++ b/scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala @@ -292,7 +292,10 @@ trait ClassLikeSupport: def getParentsAsTreeSymbolTuples: List[(Tree, Symbol)] = for parentTree <- c.parents if isValidPos(parentTree.pos) // We assume here that order is correct - parentSymbol = if parentTree.symbol.isClassConstructor then parentTree.symbol.owner else parentTree.symbol + parentSymbol = parentTree match + case t: TypeTree => t.tpe.typeSymbol + case tree if tree.symbol.isClassConstructor => tree.symbol.owner + case tree => tree.symbol if parentSymbol != defn.ObjectClass && parentSymbol != defn.AnyClass yield (parentTree, parentSymbol) diff --git a/scaladoc/src/dotty/tools/scaladoc/transformers/InheritanceInformationTransformer.scala b/scaladoc/src/dotty/tools/scaladoc/transformers/InheritanceInformationTransformer.scala index 63774d27c1be..02e224f10cf0 100644 --- a/scaladoc/src/dotty/tools/scaladoc/transformers/InheritanceInformationTransformer.scala +++ b/scaladoc/src/dotty/tools/scaladoc/transformers/InheritanceInformationTransformer.scala @@ -3,7 +3,7 @@ package transformers class InheritanceInformationTransformer(using DocContext) extends (Module => Module): override def apply(original: Module): Module = - val subtypes = getSupertypes(original.rootPackage).groupBy(_._1).transform((k, v) => v.map(_._2)) + val subtypes = getSupertypes(original.rootPackage).groupMap(_(0))(_(1)) original.updateMembers { m => val edges = getEdges(m.asLink.copy(kind = bareClasslikeKind(m.kind)), subtypes) val st: Seq[LinkToType] = edges.map(_._1).distinct