diff options
author | Martin Odersky <odersky@gmail.com> | 2003-05-08 14:53:48 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-05-08 14:53:48 +0000 |
commit | 6f062616e25ccc18848b0e86ba999202bc20a6a2 (patch) | |
tree | 5d8beca433b1a9b75434246c6a43a4eee0865875 /sources/scalac/transformer/LambdaLift.java | |
parent | 723503c1c8f2cfd89b24af71a638202354bc4c7e (diff) | |
download | scala-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.java | 16 |
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})); } } |