diff options
author | Paul Phillips <paulp@improving.org> | 2013-09-18 08:02:32 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-09-18 08:02:36 -0700 |
commit | 2b03ac41c0f53d7a411e7f232d6814d7d51051a3 (patch) | |
tree | 3addaef5b4e39a4eab9c829421582f7109607e08 /src/reflect/scala/reflect/internal/TreeGen.scala | |
parent | a8543ef28f8fc0152208f4eef763344657bf9e5a (diff) | |
download | scala-2b03ac41c0f53d7a411e7f232d6814d7d51051a3.tar.gz scala-2b03ac41c0f53d7a411e7f232d6814d7d51051a3.tar.bz2 scala-2b03ac41c0f53d7a411e7f232d6814d7d51051a3.zip |
Type housekeeping.
Moved ListOfNil somewhere more generally accessible. No
reason the compiler should hoard it for itself. Flitted
to a few locations with constructs like ".head.head" and
".tail.head" looking for code which could be rewritten. Found
some, admittedly not always making use of ListOfNil.
Made overdue moves of ConstantType(Constant(true|false|null))
to vals in Definitions.
Diffstat (limited to 'src/reflect/scala/reflect/internal/TreeGen.scala')
-rw-r--r-- | src/reflect/scala/reflect/internal/TreeGen.scala | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/reflect/scala/reflect/internal/TreeGen.scala b/src/reflect/scala/reflect/internal/TreeGen.scala index 26adf20c52..72e1ee107b 100644 --- a/src/reflect/scala/reflect/internal/TreeGen.scala +++ b/src/reflect/scala/reflect/internal/TreeGen.scala @@ -3,6 +3,7 @@ package reflect package internal import Flags._ +import util._ abstract class TreeGen extends macros.TreeBuilder { val global: SymbolTable @@ -355,8 +356,9 @@ abstract class TreeGen extends macros.TreeBuilder { if (body forall treeInfo.isInterfaceMember) None else Some( atPos(wrappingPos(superPos, lvdefs)) ( - DefDef(NoMods, nme.MIXIN_CONSTRUCTOR, List(), List(Nil), TypeTree(), Block(lvdefs, Literal(Constant()))))) - } else { + DefDef(NoMods, nme.MIXIN_CONSTRUCTOR, Nil, ListOfNil, TypeTree(), Block(lvdefs, Literal(Constant()))))) + } + else { // convert (implicit ... ) to ()(implicit ... ) if its the only parameter section if (vparamss1.isEmpty || !vparamss1.head.isEmpty && vparamss1.head.head.mods.isImplicit) vparamss1 = List() :: vparamss1 @@ -416,7 +418,7 @@ abstract class TreeGen extends macros.TreeBuilder { atPos(cpos) { ClassDef( Modifiers(FINAL), x, Nil, - mkTemplate(parents, self, NoMods, List(Nil), stats, cpos.focus)) + mkTemplate(parents, self, NoMods, ListOfNil, stats, cpos.focus)) }), atPos(npos) { New( |