diff options
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; |