From 624b4eb59862644646dec685833c67c64756a8bd Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sat, 25 Mar 2017 16:14:50 +0100 Subject: Semantic SuperAccessor and Initializer names --- .../dotty/tools/dotc/core/tasty/TreePickler.scala | 29 +++++++++++++--------- 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala') diff --git a/compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala index d81bd3ea8..34ce40cb0 100644 --- a/compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala +++ b/compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala @@ -60,19 +60,24 @@ class TreePickler(pickler: TastyPickler) { } private def pickleName(sym: Symbol)(implicit ctx: Context): Unit = { - def encodeSuper(name: Name): TastyName.NameRef = - if (sym is Flags.SuperAccessor) { - val SuperAccessorName(n) = name - nameIndex(TastyName.SuperAccessor(nameIndex(n))) - } - else nameIndex(name) val nameRef = - if (sym is Flags.ExpandedName) - nameIndex( - TastyName.Expanded( - nameIndex(sym.name.expandedPrefix), - encodeSuper(sym.name.unexpandedName))) - else encodeSuper(sym.name) + if (Config.semanticNames) { + if (sym is Flags.ExpandedName) assert(sym.name.is(NameInfo.QualifiedKind)) + nameIndex(sym.name) + } + else { + def encodeSuper(name: Name): TastyName.NameRef = + if (sym is Flags.SuperAccessor) { + val SuperAccessorName(n) = name + nameIndex(TastyName.SuperAccessor(nameIndex(n))) + } else nameIndex(name) + if (sym is Flags.ExpandedName) + nameIndex( + TastyName.Expanded( + nameIndex(sym.name.expandedPrefix), + encodeSuper(sym.name.unexpandedName))) + else encodeSuper(sym.name) + } writeNat(nameRef.index) } -- cgit v1.2.3