diff options
author | paltherr <paltherr@epfl.ch> | 2003-11-11 16:40:58 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-11-11 16:40:58 +0000 |
commit | cf86b705608afff0d8987f1c73f5fbd56a362744 (patch) | |
tree | b5018dde48ed29fc785a8cbd9a88b156c7c1c1a1 | |
parent | 2093f9a082a378b79d888788818aca28487b5ac6 (diff) | |
download | scala-cf86b705608afff0d8987f1c73f5fbd56a362744.tar.gz scala-cf86b705608afff0d8987f1c73f5fbd56a362744.tar.bz2 scala-cf86b705608afff0d8987f1c73f5fbd56a362744.zip |
- Added missing this qualifiers
-rw-r--r-- | sources/scalac/transformer/AddAccessors.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sources/scalac/transformer/AddAccessors.java b/sources/scalac/transformer/AddAccessors.java index e3dc2e88e5..9b91677a83 100644 --- a/sources/scalac/transformer/AddAccessors.java +++ b/sources/scalac/transformer/AddAccessors.java @@ -37,6 +37,7 @@ public class AddAccessors extends Transformer { protected final HashMap/*<Symbol,Symbol>*/ accessorMap = new HashMap(); protected boolean inClassContext; + protected Symbol clasz; protected Symbol accessor(Symbol sym) { Symbol accessor = (Symbol)accessorMap.get(sym); @@ -61,7 +62,8 @@ public class AddAccessors extends Transformer { Tree.ValDef[][] vparams, Tree tpe, Tree.Template impl): { - Symbol clsSym = tree.symbol(); + Symbol backup = clasz; + Symbol clsSym = clasz = tree.symbol(); assert vparams.length == 1; Tree.ValDef[] params = vparams[0]; @@ -109,6 +111,7 @@ public class AddAccessors extends Transformer { Tree[] newBodyA = (Tree[])newBody.toArray(new Tree[newBody.size()]); + clasz = backup; return copy.ClassDef(tree, clsSym, transform(tparams), @@ -131,7 +134,7 @@ public class AddAccessors extends Transformer { if (inClassContext && sym.name.isTermName() && sym.owner().isPrimaryConstructor()) - return gen.Apply(gen.Ident(tree.pos, accessor(sym))); + return gen.Apply(gen.Select(gen.This(tree.pos, clasz), accessor(sym))); else return copy.Ident(tree, sym); } |