summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/TreeGen.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-09-18 08:02:32 -0700
committerPaul Phillips <paulp@improving.org>2013-09-18 08:02:36 -0700
commit2b03ac41c0f53d7a411e7f232d6814d7d51051a3 (patch)
tree3addaef5b4e39a4eab9c829421582f7109607e08 /src/reflect/scala/reflect/internal/TreeGen.scala
parenta8543ef28f8fc0152208f4eef763344657bf9e5a (diff)
downloadscala-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.scala8
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(