summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala20
1 files changed, 2 insertions, 18 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
index b76f169552..e4696339bc 100644
--- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
@@ -1051,24 +1051,8 @@ trait Symbols {
/** Return every accessor of a primary constructor parameter in this case class
*/
- final def caseFieldAccessors: List[Symbol] = {
- val allAccessors = info.decls.toList filter (_ hasFlag CASEACCESSOR)
-
- // if a case class has private fields, the accessors will come back in the wrong
- // order unless we do some more work. See ticket #1373 and test bug1373.scala.
- def findRightAccessor(cpa: Symbol) = {
- val toFind = cpa.fullNameString + "$"
- // def fail = throw new Error("Accessor for %s not found among %s".format(cpa.fullNameString, allAccessors))
- def isRightAccessor(s: Symbol) =
- if (s hasFlag ACCESSOR) s.accessed.id == cpa.id
- else s.fullNameString startsWith toFind
-
- if (cpa.isOuterAccessor || cpa.isOuterField) None
- else allAccessors find isRightAccessor
- }
-
- constrParamAccessors map findRightAccessor flatten
- }
+ final def caseFieldAccessors: List[Symbol] =
+ info.decls.toList filter (sym => !(sym hasFlag PRIVATE) && sym.hasFlag(CASEACCESSOR))
final def constrParamAccessors: List[Symbol] =
info.decls.toList filter (sym => !sym.isMethod && sym.hasFlag(PARAMACCESSOR))