diff options
author | Martin Odersky <odersky@gmail.com> | 2007-05-30 09:11:35 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-05-30 09:11:35 +0000 |
commit | 6712cfd277781008d6c66610ab23397cfcb5c850 (patch) | |
tree | 3bbb36144231c2555c2b455f85d944b3971d5bdd /src | |
parent | fa4aaf9bcb71fa931d60199d747470f8e17aaeb5 (diff) | |
download | scala-6712cfd277781008d6c66610ab23397cfcb5c850.tar.gz scala-6712cfd277781008d6c66610ab23397cfcb5c850.tar.bz2 scala-6712cfd277781008d6c66610ab23397cfcb5c850.zip |
fixed bug1105
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Symbols.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala index 81ba6b5b9e..8c4e61273c 100644 --- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala +++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala @@ -851,8 +851,12 @@ trait Symbols { /** The case factory corresponding to this case class * @pre case class is a member of some other class or package */ - final def caseFactory: Symbol = - initialize.owner.info.decl(name.toTermName).suchThat(.isCaseFactory) + final def caseFactory: Symbol = { + var facname = name.toTermName + if (privateWithin.isClass && !privateWithin.isModuleClass && !hasFlag(EXPANDEDNAME)) + facname = privateWithin.expandedName(facname) + initialize.owner.info.decl(facname).suchThat(.isCaseFactory) + } /** If this symbol is a skolem, its corresponding type parameter, otherwise this */ def deSkolemize: Symbol = this |