Skip to content

Commit 1910821

Browse files
committed
Add using keyword to scala3doc and hide synthetic names
1 parent d08dc3c commit 1910821

File tree

4 files changed

+24
-9
lines changed

4 files changed

+24
-9
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package tests
2+
package usings
3+
4+
class Named
5+
class ClassTag[T]
6+
given ClassTag[Int] = ClassTag[Int]
7+
given ClassTag[String] = ClassTag[String]
8+
9+
/** ...
10+
*
11+
* @param t: this is an explicit parameter
12+
* @param named: this is an implicit paramter
13+
* @param ClassTag[String]: this is next implicit parameter
14+
*/
15+
def f[T](t: T)(using ClassTag[Int])(using ClassTag[String])(using named: Named)(using ClassTag[T]): Unit = ???

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ object Annotation:
101101
case class Parameter(
102102
annotations: Seq[Annotation],
103103
modifiers: String,
104-
name: String,
104+
name: Option[String],
105105
dri: DRI,
106106
signature: Signature,
107107
isExtendedSymbol: Boolean = false,

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -376,12 +376,13 @@ trait ClassLikeSupport:
376376
isExtendedSymbol: Boolean = false,
377377
isGrouped: Boolean = false) =
378378
val inlinePrefix = if argument.symbol.flags.is(Flags.Inline) then "inline " else ""
379-
// TODO (https://github.com/lampepfl/dotty/issues/10525): Add using flag
379+
val usingPrefix = if argument.symbol.flags.is(Flags.Given) then "using " else ""
380+
val name = Option.when(!argument.symbol.flags.is(Flags.Synthetic))(argument.symbol.normalizedName)
380381

381382
Parameter(
382383
argument.symbol.getAnnotations(),
383-
inlinePrefix + prefix(argument.symbol),
384-
argument.symbol.normalizedName,
384+
inlinePrefix + usingPrefix + prefix(argument.symbol),
385+
name,
385386
argument.symbol.dri,
386387
argument.tpt.dokkaType.asSignature,
387388
isExtendedSymbol,
@@ -464,4 +465,4 @@ trait ClassLikeSupport:
464465
ctx.sourceSet.toSet,
465466
/*isExpectActual =*/ false,
466467
PropertyContainer.Companion.empty().plus(member.copy(rawDoc = symbol.documentation2)).plus(compositeExt)
467-
)
468+
)

scala3doc/src/dotty/dokka/translators/ScalaSignatureUtils.scala

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,10 @@ trait SignatureBuilder extends ScalaSignatureUtils {
8686
else if params == List(Nil) then this.text("()")
8787
else this.list(params, separator = ""){ (bld, pList) =>
8888
bld.list(pList, "(", ")"){ (bld, p) =>
89-
bld.annotationsInline(p)
89+
val annotationsAndModifiers = bld.annotationsInline(p)
9090
.text(p.modifiers)
91-
.memberName(p.name, p.dri)
92-
.text(": ")
93-
.signature(p.signature)
91+
val name = p.name.fold(annotationsAndModifiers)(annotationsAndModifiers.memberName(_, p.dri).text(": "))
92+
name.signature(p.signature)
9493
}
9594
}
9695
}

0 commit comments

Comments
 (0)