diff options
author | Vlad Ureche <vlad.ureche@epfl.ch> | 2011-12-16 21:18:38 +0100 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-12-16 14:18:03 -0800 |
commit | 98108febce145b9f2842937d3ac4a9c1d24f6108 (patch) | |
tree | 31921e3138525876412539bf5dd47a4d3751c608 /src/compiler/scala/tools/nsc/ast/DocComments.scala | |
parent | 2f5f7c16870ae1fa97bbca1642659ab8c104b442 (diff) | |
download | scala-98108febce145b9f2842937d3ac4a9c1d24f6108.tar.gz scala-98108febce145b9f2842937d3ac4a9c1d24f6108.tar.bz2 scala-98108febce145b9f2842937d3ac4a9c1d24f6108.zip |
Fixed "Definition Classes" in bug #5287
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast/DocComments.scala')
-rwxr-xr-x | src/compiler/scala/tools/nsc/ast/DocComments.scala | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/DocComments.scala b/src/compiler/scala/tools/nsc/ast/DocComments.scala index 8d52a7bd2c..f9c818daf0 100755 --- a/src/compiler/scala/tools/nsc/ast/DocComments.scala +++ b/src/compiler/scala/tools/nsc/ast/DocComments.scala @@ -99,7 +99,7 @@ trait DocComments { self: Global => */ def useCases(sym: Symbol, site: Symbol): List[(Symbol, String, Position)] = { def getUseCases(dc: DocComment) = { - for (uc <- dc.useCases; defn <- uc.expandedDefs(site)) yield + for (uc <- dc.useCases; defn <- uc.expandedDefs(sym, site)) yield (defn, expandVariables(merge(cookedDocComment(sym), uc.comment.raw, defn), sym, site), uc.pos) @@ -346,7 +346,7 @@ trait DocComments { self: Global => var defined: List[Symbol] = List() // initialized by Typer var aliases: List[Symbol] = List() // initialized by Typer - def expandedDefs(site: Symbol): List[Symbol] = { + def expandedDefs(sym: Symbol, site: Symbol): List[Symbol] = { def select(site: Type, name: Name, orElse: => Type): Type = { val member = site.nonPrivateMember(name) @@ -424,8 +424,10 @@ trait DocComments { self: Global => } for (defn <- defined) yield { - defn.cloneSymbol.setFlag(Flags.SYNTHETIC).setInfo( - substAliases(defn.info).asSeenFrom(site.thisType, defn.owner)) + val useCase = defn.cloneSymbol + useCase.owner = sym.owner + useCase.flags = sym.flags + useCase.setFlag(Flags.SYNTHETIC).setInfo(substAliases(defn.info).asSeenFrom(site.thisType, sym.owner)) } } } |