diff options
author | Paul Phillips <paulp@improving.org> | 2013-04-21 04:22:27 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-05-10 10:32:52 -0700 |
commit | c1286ab3ab181e7bff2dd61984e00e8ac052fb0d (patch) | |
tree | 7176cdf2f8d93d8f3774afba983e89fd1f272f27 | |
parent | b38fae08a25545ba37a97c11aea0bf9971e9ca42 (diff) | |
download | scala-c1286ab3ab181e7bff2dd61984e00e8ac052fb0d.tar.gz scala-c1286ab3ab181e7bff2dd61984e00e8ac052fb0d.tar.bz2 scala-c1286ab3ab181e7bff2dd61984e00e8ac052fb0d.zip |
Flesh out copyMemberDef methods with copyModuleDef.
-rw-r--r-- | src/reflect/scala/reflect/internal/Trees.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/Trees.scala b/src/reflect/scala/reflect/internal/Trees.scala index a164299357..de0b4e8247 100644 --- a/src/reflect/scala/reflect/internal/Trees.scala +++ b/src/reflect/scala/reflect/internal/Trees.scala @@ -1650,6 +1650,21 @@ trait Trees extends api.Trees { self: SymbolTable => sys.error("Not a ClassDef: " + t + "/" + t.getClass) } + def copyModuleDef(tree: Tree)( + mods: Modifiers = null, + name: Name = null, + impl: Template = null + ): ModuleDef = tree match { + case ModuleDef(mods0, name0, impl0) => + treeCopy.ModuleDef(tree, + if (mods eq null) mods0 else mods, + if (name eq null) name0 else name, + if (impl eq null) impl0 else impl + ) + case t => + sys.error("Not a ModuleDef: " + t + "/" + t.getClass) + } + def deriveDefDef(ddef: Tree)(applyToRhs: Tree => Tree): DefDef = ddef match { case DefDef(mods0, name0, tparams0, vparamss0, tpt0, rhs0) => treeCopy.DefDef(ddef, mods0, name0, tparams0, vparamss0, tpt0, applyToRhs(rhs0)) |