diff options
author | Martin Odersky <odersky@gmail.com> | 2014-11-10 18:29:58 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-11-10 18:29:58 +0100 |
commit | f7a4d811f769583be13a376a3daedd2eadd31447 (patch) | |
tree | 1c82858472d08575dfb6815d9c70cee92095a79a /src/dotty/tools/dotc/typer/Namer.scala | |
parent | c9d7eefc0989066e85ca598dff2639d412aabbee (diff) | |
download | dotty-f7a4d811f769583be13a376a3daedd2eadd31447.tar.gz dotty-f7a4d811f769583be13a376a3daedd2eadd31447.tar.bz2 dotty-f7a4d811f769583be13a376a3daedd2eadd31447.zip |
Drop modifiers as separate data from MemberDef trees
Typed MemberDef trees now take the modifiers from their symbol's data.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Namer.scala')
-rw-r--r-- | src/dotty/tools/dotc/typer/Namer.scala | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala index e8bb1b9e7..0ca681d32 100644 --- a/src/dotty/tools/dotc/typer/Namer.scala +++ b/src/dotty/tools/dotc/typer/Namer.scala @@ -361,14 +361,14 @@ class Namer { typer: Typer => */ def mergeCompanionDefs() = { val classDef = mutable.Map[TypeName, TypeDef]() - for (cdef @ TypeDef(mods, name, _) <- stats) + for (cdef @ TypeDef(name, _) <- stats) if (cdef.isClassDef) classDef(name) = cdef - for (mdef @ ModuleDef(_, name, _) <- stats) + for (mdef @ ModuleDef(name, _) <- stats) classDef get name.toTypeName match { case Some(cdef) => - val Thicket(vdef :: (mcls @ TypeDef(_, _, impl: Template)) :: Nil) = mdef.attachment(ExpandedTree) + val Thicket(vdef :: (mcls @ TypeDef(_, impl: Template)) :: Nil) = mdef.attachment(ExpandedTree) cdef.attachmentOrElse(ExpandedTree, cdef) match { - case Thicket(cls :: mval :: TypeDef(_, _, compimpl: Template) :: crest) => + case Thicket(cls :: mval :: TypeDef(_, compimpl: Template) :: crest) => val mcls1 = cpy.TypeDef(mcls)( rhs = cpy.Template(impl)(body = compimpl.body ++ impl.body)) mdef.putAttachment(ExpandedTree, Thicket(vdef :: mcls1 :: Nil)) @@ -433,7 +433,7 @@ class Namer { typer: Typer => protected implicit val ctx: Context = localContext(cls).setMode(ictx.mode &~ Mode.InSuperCall) - val TypeDef(_, name, impl @ Template(constr, parents, self, body)) = original + val TypeDef(name, impl @ Template(constr, parents, self, body)) = original val (params, rest) = body span { case td: TypeDef => td.mods is Param @@ -635,7 +635,7 @@ class Namer { typer: Typer => /** The type signature of a DefDef with given symbol */ def defDefSig(ddef: DefDef, sym: Symbol)(implicit ctx: Context) = { - val DefDef(_, name, tparams, vparamss, _, _) = ddef + val DefDef(name, tparams, vparamss, _, _) = ddef completeParams(tparams) vparamss foreach completeParams val isConstructor = name == nme.CONSTRUCTOR |