diff options
author | paltherr <paltherr@epfl.ch> | 2003-07-10 15:34:13 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-07-10 15:34:13 +0000 |
commit | 3b96193f16e4392e36fdc32e11d28304d46923ff (patch) | |
tree | ba5cce1c3339ed3215259b903309ce247e6a53b5 /sources/scalac/transformer/LambdaLift.java | |
parent | 7a4d11c99780a6de513cd818f41b923df0502a6c (diff) | |
download | scala-3b96193f16e4392e36fdc32e11d28304d46923ff.tar.gz scala-3b96193f16e4392e36fdc32e11d28304d46923ff.tar.bz2 scala-3b96193f16e4392e36fdc32e11d28304d46923ff.zip |
- Added method Symbol.cloneSymbol(Symbol)
Diffstat (limited to 'sources/scalac/transformer/LambdaLift.java')
-rw-r--r-- | sources/scalac/transformer/LambdaLift.java | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sources/scalac/transformer/LambdaLift.java b/sources/scalac/transformer/LambdaLift.java index 201c2b6152..2b8a05135d 100644 --- a/sources/scalac/transformer/LambdaLift.java +++ b/sources/scalac/transformer/LambdaLift.java @@ -436,10 +436,9 @@ public class LambdaLift extends OwnerTransformer Symbol[] freevars = get(free.ftvs, owner).toArray(); Symbol[] params = new Symbol[freevars.length]; for (int i = 0; i < params.length; i++) { - params[i] = freevars[i].cloneSymbol(); + params[i] = freevars[i].cloneSymbol(owner); params[i].pos = owner.pos; params[i].flags = PARAM | SYNTHETIC; - params[i].setOwner(owner); } for (int i = 0; i < params.length; i++) params[i].setInfo(freevars[i].info().subst(freevars, params)); @@ -450,11 +449,10 @@ public class LambdaLift extends OwnerTransformer Symbol[] freevars = get(free.fvs, owner).toArray(); Symbol[] params = new Symbol[freevars.length]; for (int i = 0; i < params.length; i++) { - params[i] = freevars[i].cloneSymbol(); + params[i] = freevars[i].cloneSymbol(owner); params[i].pos = owner.pos; params[i].flags &= CAPTURED; params[i].flags |= PARAM | SYNTHETIC; - params[i].setOwner(owner); params[i].setInfo(freevars[i].type()); } return params; |