Skip to content

Commit d7b3b18

Browse files
pikinier20nicolasstucki
authored andcommitted
Fix enum and export parsing in Scaladoc
1 parent 23a0815 commit d7b3b18

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
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] //expected: val x: A.this.HKT[List, Int]
2626
= ???
2727
class Class(val a: Int, val b: Int) extends Serializable //expected: final type Class = a.Class

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,10 @@ trait ClassLikeSupport:
178178
case rhs => rhs
179179
}.map(_.tpe.termSymbol).filter(_.exists).map(_.tree).map {
180180
case v: ValDef if v.symbol.flags.is(Flags.Module) && !v.symbol.flags.is(Flags.Synthetic) =>
181-
v.symbol.owner -> Symbol.newVal(c.symbol, dd.name, v.tpt.tpe, Flags.Final, Symbol.noSymbol).tree
181+
v.symbol.owner -> Symbol.newVal(v.symbol.owner, dd.name, v.tpt.tpe, Flags.Final, Symbol.noSymbol).tree
182182
case other => other.symbol.owner -> other
183183
}.flatMap { (originalOwner, tree) =>
184-
parseMember(c)(tree)
184+
parseMember(originalOwner.tree.asInstanceOf[ClassDef])(tree)
185185
.map { m => m
186186
.withDRI(dd.symbol.dri)
187187
.withName(dd.symbol.normalizedName)
@@ -324,7 +324,7 @@ trait ClassLikeSupport:
324324

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

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

0 commit comments

Comments
 (0)