summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/LambdaLift.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-09-11 12:03:13 +0000
committerpaltherr <paltherr@epfl.ch>2003-09-11 12:03:13 +0000
commitc4b7a33f58721756974e79f6df392f9f90825cfe (patch)
tree9cd774cdf215bcdb95e0979264c9942fa5f5ab08 /sources/scalac/transformer/LambdaLift.java
parent3551973214371050c0517d65c1c0371ad37785aa (diff)
downloadscala-c4b7a33f58721756974e79f6df392f9f90825cfe.tar.gz
scala-c4b7a33f58721756974e79f6df392f9f90825cfe.tar.bz2
scala-c4b7a33f58721756974e79f6df392f9f90825cfe.zip
- Reviewed and cleaned TreeGen.
- Fixed some errors. - Removed "dangerous" methods in TreeGen. - Renamed some methods in TreeGen.
Diffstat (limited to 'sources/scalac/transformer/LambdaLift.java')
-rw-r--r--sources/scalac/transformer/LambdaLift.java11
1 files changed, 3 insertions, 8 deletions
diff --git a/sources/scalac/transformer/LambdaLift.java b/sources/scalac/transformer/LambdaLift.java
index af1881ea7d..f3d19647c6 100644
--- a/sources/scalac/transformer/LambdaLift.java
+++ b/sources/scalac/transformer/LambdaLift.java
@@ -398,14 +398,9 @@ public class LambdaLift extends OwnerTransformer
if ((sym.flags & CAPTURED) != 0) {
assert sym.isLocal();
Type boxedType = sym.nextType();
- Type unboxedType = boxedType.typeArgs()[0];
tpe1 = gen.mkType(tpe.pos, boxedType);
rhs1 = gen.New(
- rhs.pos,
- definitions.SCALA_TYPE,
- boxedType.symbol(),
- new Type[]{unboxedType},
- new Tree[]{rhs1});
+ gen.mkPrimaryConstr(rhs.pos, boxedType, new Tree[]{rhs1}));
}
return copy.ValDef(tree, sym, tpe1, rhs1);
@@ -451,7 +446,7 @@ public class LambdaLift extends OwnerTransformer
if (tree1 instanceof Ident) ((Ident)tree1).name = sym.name;
else ((Select)tree1).selector = sym.name;
}
- if ((sym.flags & CAPTURED) != 0) return gen.Select(tree1, Names.elem);
+ if ((sym.flags & CAPTURED) != 0) return gen.Select__(tree1, Names.elem);
else return tree1;
default:
@@ -621,7 +616,7 @@ public class LambdaLift extends OwnerTransformer
for (int i = 0; i < fparams.length; i++) {
Symbol farg = descr.proxy(fparams[i], currentOwner);
args1[args.length + i] =
- types ? gen.mkTypeIdent(pos, farg) : gen.Ident(pos, farg);
+ types ? gen.mkTypeRef(pos, farg) : gen.Ident(pos, farg);
}
return args1;
} else {