summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/AddAccessors.java
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-03-12 14:22:28 +0000
committerschinz <schinz@epfl.ch>2003-03-12 14:22:28 +0000
commit2dc20eb9c833424665e9a5e338095683ac4febf0 (patch)
tree62f97e6aeb5116b6911a32cde0767e39ddc48348 /sources/scalac/transformer/AddAccessors.java
parent2142b86eceb2ed291610f2138ff0b3c8fbcda692 (diff)
downloadscala-2dc20eb9c833424665e9a5e338095683ac4febf0.tar.gz
scala-2dc20eb9c833424665e9a5e338095683ac4febf0.tar.bz2
scala-2dc20eb9c833424665e9a5e338095683ac4febf0.zip
- bug fix: do not add accessors again for const...
- bug fix: do not add accessors again for constructor arguments of case classes
Diffstat (limited to 'sources/scalac/transformer/AddAccessors.java')
-rw-r--r--sources/scalac/transformer/AddAccessors.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/sources/scalac/transformer/AddAccessors.java b/sources/scalac/transformer/AddAccessors.java
index a8fd51dc3c..e9c525bedc 100644
--- a/sources/scalac/transformer/AddAccessors.java
+++ b/sources/scalac/transformer/AddAccessors.java
@@ -116,6 +116,16 @@ public class AddAccessors extends Transformer {
copy.Template(impl, newParents, newBodyA));
}
+ case ValDef(_, _, _, _): {
+ // Do not go into RHS of value definitions which reference
+ // case class constructor arguments, to avoid creating
+ // another accessor.
+ if (Modifiers.Helper.isCase(tree.symbol().flags)) {
+ return tree;
+ } else
+ return super.transform(tree);
+ }
+
case Select(Tree qualifier, Name selector): {
Symbol sym = tree.symbol();
if (sym.owner().isPrimaryConstructor())