summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/LambdaLift.java
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-05-08 14:53:48 +0000
committerMartin Odersky <odersky@gmail.com>2003-05-08 14:53:48 +0000
commit6f062616e25ccc18848b0e86ba999202bc20a6a2 (patch)
tree5d8beca433b1a9b75434246c6a43a4eee0865875 /sources/scalac/transformer/LambdaLift.java
parent723503c1c8f2cfd89b24af71a638202354bc4c7e (diff)
downloadscala-6f062616e25ccc18848b0e86ba999202bc20a6a2.tar.gz
scala-6f062616e25ccc18848b0e86ba999202bc20a6a2.tar.bz2
scala-6f062616e25ccc18848b0e86ba999202bc20a6a2.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/transformer/LambdaLift.java')
-rw-r--r--sources/scalac/transformer/LambdaLift.java16
1 files changed, 5 insertions, 11 deletions
diff --git a/sources/scalac/transformer/LambdaLift.java b/sources/scalac/transformer/LambdaLift.java
index 9194c32848..b7a9699e51 100644
--- a/sources/scalac/transformer/LambdaLift.java
+++ b/sources/scalac/transformer/LambdaLift.java
@@ -541,25 +541,19 @@ public class LambdaLift extends OwnerTransformer
}
}
+ //todo: remove type parameters
Tree mkList(int pos, Type tpe, Tree[] args) {
return mkList(pos, tpe.typeArgs()[0], args, 0);
}
Tree mkList(int pos, Type elemtpe, Tree[] args, int start) {
- if (start == args.length) return mkNil(pos, elemtpe);
+ if (start == args.length) return mkNil(pos);
else return mkCons(pos, elemtpe, args[start],
mkList(pos, elemtpe, args, start + 1));
}
- Tree mkNil(int pos, Type elemtpe) {
- return gen.New(
- gen.Apply(
- gen.TypeApply(
- gen.mkRef(
- pos,
- global.definitions.getClass(Names.scala_Nil).constructor()),
- new Tree[]{gen.mkType(pos, elemtpe)}),
- new Tree[]{}));
+ Tree mkNil(int pos) {
+ return gen.mkRef(pos, global.definitions.getModule(Names.scala_Nil));
}
Tree mkCons(int pos, Type elemtpe, Tree hd, Tree tl) {
@@ -569,7 +563,7 @@ public class LambdaLift extends OwnerTransformer
gen.mkRef(
pos,
global.definitions.getClass(Names.scala_COLONCOLON).constructor()),
- new Tree[]{gen.mkType(pos, elemtpe)}),
+ new Tree[]{gen.mkType(pos, elemtpe), gen.mkType(pos, elemtpe)}),
new Tree[]{hd, tl}));
}
}