summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/AddAccessors.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-11-11 16:40:58 +0000
committerpaltherr <paltherr@epfl.ch>2003-11-11 16:40:58 +0000
commitcf86b705608afff0d8987f1c73f5fbd56a362744 (patch)
treeb5018dde48ed29fc785a8cbd9a88b156c7c1c1a1 /sources/scalac/transformer/AddAccessors.java
parent2093f9a082a378b79d888788818aca28487b5ac6 (diff)
downloadscala-cf86b705608afff0d8987f1c73f5fbd56a362744.tar.gz
scala-cf86b705608afff0d8987f1c73f5fbd56a362744.tar.bz2
scala-cf86b705608afff0d8987f1c73f5fbd56a362744.zip
- Added missing this qualifiers
Diffstat (limited to 'sources/scalac/transformer/AddAccessors.java')
-rw-r--r--sources/scalac/transformer/AddAccessors.java7
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);
}