diff options
-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()) |