diff options
author | schinz <schinz@epfl.ch> | 2003-03-12 14:22:28 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-03-12 14:22:28 +0000 |
commit | 2dc20eb9c833424665e9a5e338095683ac4febf0 (patch) | |
tree | 62f97e6aeb5116b6911a32cde0767e39ddc48348 /sources/scalac/transformer | |
parent | 2142b86eceb2ed291610f2138ff0b3c8fbcda692 (diff) | |
download | scala-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')
-rw-r--r-- | sources/scalac/transformer/AddAccessors.java | 10 |
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()) |