aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2017-02-22 16:57:03 +0100
committerGitHub <noreply@github.com>2017-02-22 16:57:03 +0100
commita0c2e55b23107d473b3e99aad9f515e23f321822 (patch)
treedd90172e7bc836d3629aa52cf3cf3df2d79da1d3 /compiler/src/dotty/tools/dotc
parent6eeb06facb4e0afca9b11b7859a929b31fc23f25 (diff)
parente3bad2efa3abf4884e07c6222f5d152e18c64b2d (diff)
downloaddotty-a0c2e55b23107d473b3e99aad9f515e23f321822.tar.gz
dotty-a0c2e55b23107d473b3e99aad9f515e23f321822.tar.bz2
dotty-a0c2e55b23107d473b3e99aad9f515e23f321822.zip
Merge pull request #2021 from dotty-staging/fix-#2020
Fix #2020: Only the first parameters of a case class are caseaccessors
Diffstat (limited to 'compiler/src/dotty/tools/dotc')
-rw-r--r--compiler/src/dotty/tools/dotc/ast/Desugar.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/src/dotty/tools/dotc/ast/Desugar.scala b/compiler/src/dotty/tools/dotc/ast/Desugar.scala
index deb239143..b5be89440 100644
--- a/compiler/src/dotty/tools/dotc/ast/Desugar.scala
+++ b/compiler/src/dotty/tools/dotc/ast/Desugar.scala
@@ -469,7 +469,13 @@ object desugar {
val originalVparams = constr1.vparamss.toIterator.flatten
val tparamAccessors = derivedTparams.map(_.withMods(originalTparams.next.mods))
val caseAccessor = if (isCaseClass) CaseAccessor else EmptyFlags
- val vparamAccessors = derivedVparamss.flatten.map(_.withMods(originalVparams.next.mods | caseAccessor))
+ val vparamAccessors = derivedVparamss match {
+ case first :: rest =>
+ first.map(_.withMods(originalVparams.next.mods | caseAccessor)) ++
+ rest.flatten.map(_.withMods(originalVparams.next.mods))
+ case _ =>
+ Nil
+ }
cpy.TypeDef(cdef)(
name = className,
rhs = cpy.Template(impl)(constr, parents1, self1,