Skip to content

Commit bc30d09

Browse files
committed
Extension method groupping fix. CRs from PR #10306
1 parent 752cb1b commit bc30d09

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

scala3doc/src/dotty/dokka/model/api/api.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ enum Modifier(val name: String, val prefix: Boolean):
4949
case Opaque extends Modifier("opaque", true)
5050
case Open extends Modifier("open", true)
5151

52-
case class ExtensionTarget(name: String, signature: Signature, dri: DRI)
52+
case class ExtensionTarget(name: String, signature: Signature, dri: DRI, position: Long)
5353
case class ImplicitConversion(from: DRI, to: DRI)
5454
trait ImplicitConversionProvider { def conversion: Option[ImplicitConversion] }
5555
trait Classlike

scala3doc/src/dotty/dokka/tasty/ClassLikeSupport.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,12 @@ trait ClassLikeSupport:
109109
private def parseMember(s: Tree): Option[Member] = processTreeOpt(s)(s match
110110
case dd: DefDef if !dd.symbol.isHiddenByVisibility && !dd.symbol.isSyntheticFunc && dd.symbol.isExtensionMethod =>
111111
dd.symbol.extendedSymbol.map { extSym =>
112-
val target = ExtensionTarget(extSym.symbol.normalizedName, extSym.tpt.dokkaType.asSignature, extSym.tpt.symbol.dri)
112+
val target = ExtensionTarget(
113+
extSym.symbol.normalizedName,
114+
extSym.tpt.dokkaType.asSignature,
115+
extSym.tpt.symbol.dri,
116+
extSym.symbol.pos.start
117+
)
113118
parseMethod(dd.symbol, kind = Kind.Extension(target))
114119
}
115120
// TODO check given methods?

scala3doc/src/dotty/dokka/tasty/TastyParser.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ case class TastyParser(qctx: QuoteContext, inspector: DokkaBaseTastyInspector, c
168168

169169
private def errorMsg[T](a: Any, m: => String, e: Throwable): Option[T] =
170170
val msg = try m catch case e: Throwable => a.toString
171-
println(s"ERROR: tree is faling: msg")
171+
println(s"ERROR: tree is faling: $msg")
172172
e.printStackTrace()
173173
throw e
174174

scala3doc/src/dotty/dokka/transformers/ImplicitMembersExtensionTransformer.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ class ImplicitMembersExtensionTransformer(ctx: DokkaContext) extends Documentabl
1717

1818
def expandMember(outerMembers: Seq[Member])(c: Member): Member =
1919
val companion = c match
20-
case classlike: DClass => ClasslikeExtension.getFrom(classlike).flatMap(_.companion).flatMap(classlikeMap.get)
20+
case classlike: DClass => ClasslikeExtension.getFrom(classlike).flatMap(_.companion).map(classlikeMap)
2121
case _ => None
2222

2323
val allParents = c.parents.flatMap(p => classlikeMap.get(p.dri))
2424

2525
val parentCompanions = allParents.flatMap {
26-
case cls: DClasslike => ClasslikeExtension.getFrom(cls).flatMap(_.companion).flatMap(classlikeMap.get)
26+
case cls: DClasslike => ClasslikeExtension.getFrom(cls).flatMap(_.companion).map(classlikeMap)
2727
case _ => None
2828
}
2929

@@ -34,7 +34,7 @@ class ImplicitMembersExtensionTransformer(ctx: DokkaContext) extends Documentabl
3434

3535
val MyDri = c.getDri
3636
def collectApplicableMembers(source: Member): Seq[Member] = source.allMembers.flatMap {
37-
case m @ Member(_, _, _, Kind.Extension(ExtensionTarget(_, _, MyDri)), Origin.DefinedWithin) =>
37+
case m @ Member(_, _, _, Kind.Extension(ExtensionTarget(_, _, MyDri, _)), Origin.DefinedWithin) =>
3838
Seq(m.withOrigin(Origin.ExtensionFrom(source.name, source.dri)).withKind(Kind.Def))
3939
case m @ Member(_, _, _, conversionProvider: ImplicitConversionProvider, Origin.DefinedWithin) =>
4040
conversionProvider.conversion match

0 commit comments

Comments
 (0)