Skip to content

Commit e5747fb

Browse files
pikinier20nicolasstucki
authored andcommitted
Fix enum and export parsing in Scaladoc
1 parent 74fc5e5 commit e5747fb

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

scaladoc-testcases/src/tests/exports.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class A: //unexpected
2121
= ???
2222
def fn[T, U]: T => U
2323
= ???
24-
object Object //expected: val Obj: Object.type
24+
object Object //expected: final val Obj: Object.type
2525
val x: HKT[List, Int]
2626
= ???
2727
class Class(val a: Int, val b: Int) extends Serializable //expected: final type Class = Class

scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala

+3-3
Original file line numberDiff line numberDiff line change
@@ -165,10 +165,10 @@ trait ClassLikeSupport:
165165
case rhs => rhs
166166
}.map(_.tpe.termSymbol).filter(_.exists).map(_.tree).map {
167167
case v: ValDef if v.symbol.flags.is(Flags.Module) && !v.symbol.flags.is(Flags.Synthetic) =>
168-
v.symbol.owner -> Symbol.newVal(c.symbol, dd.name, v.tpt.tpe, Flags.Final, Symbol.noSymbol).tree
168+
v.symbol.owner -> Symbol.newVal(v.symbol.owner, dd.name, v.tpt.tpe, Flags.Final, Symbol.noSymbol).tree
169169
case other => other.symbol.owner -> other
170170
}.flatMap { (originalOwner, tree) =>
171-
parseMember(c)(tree)
171+
parseMember(originalOwner.tree.asInstanceOf[ClassDef])(tree)
172172
.map { m => m
173173
.withDRI(dd.symbol.dri)
174174
.withName(dd.symbol.normalizedName)
@@ -310,7 +310,7 @@ trait ClassLikeSupport:
310310

311311
val enumVals = companion.membersToDocument.collect {
312312
case vd: ValDef if !isSyntheticField(vd.symbol) && vd.symbol.flags.is(Flags.Enum) && vd.symbol.flags.is(Flags.Case) => vd
313-
}.toList.map(parseValDef(classDef, _))
313+
}.toList.map(parseValDef(companion, _))
314314

315315
val enumTypes = companion.membersToDocument.collect {
316316
case td: TypeDef if !td.symbol.flags.is(Flags.Synthetic) && td.symbol.flags.is(Flags.Enum) && td.symbol.flags.is(Flags.Case) => td

scaladoc/src/dotty/tools/scaladoc/tasty/TypesSupport.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ trait TypesSupport:
259259
case tr @ TermRef(qual, typeName) =>
260260
tr.termSymbol.tree match
261261
case vd: ValDef => inner(vd.tpt.tpe)
262-
case _ => tpe(tr.termSymbol)
262+
case _ => tpe(tr.termSymbol) :+ plain(".type")
263263

264264

265265
// convertTypeOrBoundsToReference(reflect)(qual) match {

0 commit comments

Comments
 (0)