Skip to content

Commit 980090b

Browse files
pikinier20nicolasstucki
authored andcommitted
Fix enum and export parsing in Scaladoc
1 parent 147a695 commit 980090b

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
@@ -170,10 +170,10 @@ trait ClassLikeSupport:
170170
case rhs => rhs
171171
}.map(_.tpe.termSymbol).filter(_.exists).map(_.tree).map {
172172
case v: ValDef if v.symbol.flags.is(Flags.Module) && !v.symbol.flags.is(Flags.Synthetic) =>
173-
v.symbol.owner -> Symbol.newVal(c.symbol, dd.name, v.tpt.tpe, Flags.Final, Symbol.noSymbol).tree
173+
v.symbol.owner -> Symbol.newVal(v.symbol.owner, dd.name, v.tpt.tpe, Flags.Final, Symbol.noSymbol).tree
174174
case other => other.symbol.owner -> other
175175
}.flatMap { (originalOwner, tree) =>
176-
parseMember(c)(tree)
176+
parseMember(originalOwner.tree.asInstanceOf[ClassDef])(tree)
177177
.map { m => m
178178
.withDRI(dd.symbol.dri)
179179
.withName(dd.symbol.normalizedName)
@@ -316,7 +316,7 @@ trait ClassLikeSupport:
316316

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

321321
val enumTypes = companion.membersToDocument.collect {
322322
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)