From b89c4afca19cb77e17c059e75982c537094f1ec8 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 11 Aug 2014 10:30:06 +0200 Subject: Add CaseAccessor flag for case accessors Was missing before. --- src/dotty/tools/dotc/ast/Desugar.scala | 3 ++- src/dotty/tools/dotc/core/Flags.scala | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala index 671fbef51..8ead43d78 100644 --- a/src/dotty/tools/dotc/ast/Desugar.scala +++ b/src/dotty/tools/dotc/ast/Desugar.scala @@ -388,8 +388,9 @@ object desugar { val tparamAccessors = derivedTparams map { tdef => cpy.TypeDef(tdef, originalTparams.next.mods, tdef.name, tdef.rhs, tdef.tparams) } + val caseAccessor = if (mods is Case) CaseAccessor else EmptyFlags val vparamAccessors = derivedVparamss.flatten map { vdef => - cpy.ValDef(vdef, originalVparams.next.mods, vdef.name, vdef.tpt, vdef.rhs) + cpy.ValDef(vdef, originalVparams.next.mods | caseAccessor, vdef.name, vdef.tpt, vdef.rhs) } cpy.TypeDef(cdef, mods, name, cpy.Template(impl, constr, parents1, self1, diff --git a/src/dotty/tools/dotc/core/Flags.scala b/src/dotty/tools/dotc/core/Flags.scala index 5931347b3..20427516d 100644 --- a/src/dotty/tools/dotc/core/Flags.scala +++ b/src/dotty/tools/dotc/core/Flags.scala @@ -304,7 +304,7 @@ object Flags { /** Info can be refined during GADT pattern match */ final val GADTFlexType = typeFlag(25, "") - /** A case parameter (or its accessor, or a GADT skolem) */ + /** A case parameter accessor */ final val CaseAccessor = termFlag(26, "") /** An type parameter which is an alias for some other (non-visible) type parameter */ -- cgit v1.2.3