diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-05-21 19:24:02 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-05-21 19:24:02 +0200 |
commit | 7c908309953f15baed47b1e4cae1d720f9787bbb (patch) | |
tree | 7e8d433fab2c0561744c1c50b5c7e65c4670ce51 /src | |
parent | f81a4f92967a2dd69784864e9ab9e1624d7db35b (diff) | |
download | scala-7c908309953f15baed47b1e4cae1d720f9787bbb.tar.gz scala-7c908309953f15baed47b1e4cae1d720f9787bbb.tar.bz2 scala-7c908309953f15baed47b1e4cae1d720f9787bbb.zip |
SI-7436 Varargs awareness for super param aliasing.
Don't consider a super class parameter accessor to be
an alias if it is a repeated. Parameter aliases are used
to avoid retaining redundant fields in the subclass; but
that optimization is out of the question here.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index c59ef4ebda..bd92b330be 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -2051,7 +2051,7 @@ trait Typers extends Modes with Adaptations with Tags { orElse (superAcc getter superAcc.owner) filter (alias => superClazz.info.nonPrivateMember(alias.name) == alias) ) - if (alias.exists && !alias.accessed.isVariable) { + if (alias.exists && !alias.accessed.isVariable && !isRepeatedParamType(alias.accessed.info)) { val ownAcc = clazz.info decl name suchThat (_.isParamAccessor) match { case acc if !acc.isDeferred && acc.hasAccessorFlag => acc.accessed case acc => acc |