@@ -151,17 +151,6 @@ object NameOps {
151151 name.rewrite { case ExpandedName (_, unexp) => unexp }
152152 }
153153
154- def unexpandedNameOfMangled : N = likeTyped {
155- var idx = name.lastIndexOfSlice(nme.EXPAND_SEPARATOR )
156-
157- // Hack to make super accessors from traits work. They would otherwise fail because of #765
158- // TODO: drop this once we have more robust name handling
159- if (idx > FalseSuperLength && name.slice(idx - FalseSuperLength , idx) == FalseSuper )
160- idx -= FalseSuper .length
161-
162- if (idx < 0 ) name else (name drop (idx + nme.EXPAND_SEPARATOR .length))
163- }
164-
165154 def expandedPrefix : N = likeTyped { name.exclude(ExpandedName ) }
166155
167156 def expandedPrefixOfMangled : N = {
@@ -170,15 +159,6 @@ object NameOps {
170159 likeTyped(name.take(idx))
171160 }
172161
173- def unmangleExpandedName : N =
174- if (name.isSimple) {
175- val unmangled = unexpandedNameOfMangled
176- if (name eq unmangled) name
177- else likeTyped(
178- ExpandedName (expandedPrefixOfMangled.toTermName, unmangled.asSimpleName))
179- }
180- else name
181-
182162 def implClassName : N = likeTyped(name ++ tpnme.IMPL_CLASS_SUFFIX )
183163
184164 def errorName : N = likeTyped(name ++ nme.ERROR )
@@ -323,6 +303,23 @@ object NameOps {
323303
324304 /** If name length exceeds allowable limit, replace part of it by hash */
325305 def compactified (implicit ctx : Context ): TermName = termName(compactify(name.toString))
306+
307+ def unmangle (kind : NameKind ): N = likeTyped {
308+ name rewrite {
309+ case unmangled : SimpleTermName =>
310+ kind.unmangle(unmangled)
311+ case ExpandedName (prefix, last) =>
312+ kind.unmangle(last) rewrite {
313+ case kernel : SimpleTermName =>
314+ ExpandedName (prefix, kernel)
315+ }
316+ }
317+ }
318+
319+ def unmangle (kinds : List [NameKind ]): N = {
320+ val unmangled = (name /: kinds)(_.unmangle(_))
321+ if (unmangled eq name) name else unmangled.unmangle(kinds)
322+ }
326323 }
327324
328325 // needed???
@@ -442,26 +439,6 @@ object NameOps {
442439 case NO_NAME => primitivePostfixMethodName
443440 case name => name
444441 }
445-
446- def unmangleSuperName : TermName =
447- if (name.isSimple && name.startsWith(str.SUPER_PREFIX ))
448- SuperAccessorName (name.drop(str.SUPER_PREFIX .length).asTermName)
449- else name
450-
451- def unmangle (kind : NameKind ): TermName = name rewrite {
452- case unmangled : SimpleTermName =>
453- kind.unmangle(unmangled)
454- case ExpandedName (prefix, last) =>
455- kind.unmangle(last) rewrite {
456- case kernel : SimpleTermName =>
457- ExpandedName (prefix, kernel)
458- }
459- }
460-
461- def unmangle (kinds : List [NameKind ]): TermName = {
462- val unmangled = (name /: kinds)(_.unmangle(_))
463- if (unmangled eq name) name else unmangled.unmangle(kinds)
464- }
465442 }
466443
467444 private final val FalseSuper = " $$super" .toTermName
0 commit comments