@@ -4,7 +4,7 @@ package core
44import java .security .MessageDigest
55import scala .annotation .switch
66import scala .io .Codec
7- import Names ._ , StdNames ._ , Contexts ._ , Symbols ._ , Flags ._
7+ import Names ._ , StdNames ._ , Contexts ._ , Symbols ._ , Flags ._ , NameExtractors . _
88import Decorators .PreNamedString
99import util .{Chars , NameTransformer }
1010import Chars .isOperatorPart
@@ -49,14 +49,14 @@ object NameOps {
4949 }
5050 }
5151
52- class PrefixNameExtractor (pre : TermName , info : NameInfo ) {
52+ class PrefixNameExtractor (pre : TermName , bldr : NameExtractors . PrefixNameExtractor ) {
5353 def apply (name : TermName ): TermName =
54- if (Config .semanticNames) name.derived(info ) else pre ++ name
54+ if (Config .semanticNames) bldr(name ) else pre ++ name
5555
5656 def unapply (name : TermName ): Option [TermName ] =
5757 if (Config .semanticNames)
5858 name match {
59- case DerivedTermName (original, `info` ) => Some (original)
59+ case bldr (original) => Some (original)
6060 case _ => None
6161 }
6262 else tryUnmangle(name)
@@ -66,8 +66,8 @@ object NameOps {
6666 else None
6767 }
6868
69- object SuperAccessorName extends PrefixNameExtractor (nme.SUPER_PREFIX , NameInfo . SuperAccessor )
70- object InitializerName extends PrefixNameExtractor (nme.INITIALIZER_PREFIX , NameInfo . Initializer )
69+ object SuperAccessorName extends PrefixNameExtractor (nme.SUPER_PREFIX , NameExtractors . SuperAccessorName )
70+ object InitializerName extends PrefixNameExtractor (nme.INITIALIZER_PREFIX , NameExtractors . InitializerName )
7171
7272 implicit class NameDecorator [N <: Name ](val name : N ) extends AnyVal {
7373 import nme ._
@@ -83,12 +83,12 @@ object NameOps {
8383 def isProtectedAccessorName = name startsWith PROTECTED_PREFIX
8484 def isReplWrapperName = name.toSimpleName containsSlice INTERPRETER_IMPORT_WRAPPER
8585 def isTraitSetterName =
86- if (Config .semanticNames) name.is(NameInfo . TraitSetterKind )
86+ if (Config .semanticNames) name.is(TraitSetterName )
8787 else name containsSlice TRAIT_SETTER_SEPARATOR
8888 def isSetterName = name endsWith SETTER_SUFFIX
8989 def isSingletonName = name endsWith SINGLETON_SUFFIX
9090 def isModuleClassName =
91- if (Config .semanticNames) name.is(NameInfo . ModuleClass .kind )
91+ if (Config .semanticNames) name.is(ModuleClassName )
9292 else name endsWith MODULE_SUFFIX
9393 def isAvoidClashName = name endsWith AVOID_CLASH_SUFFIX
9494 def isImportName = name startsWith IMPORT
@@ -138,7 +138,7 @@ object NameOps {
138138
139139 /** Convert this module name to corresponding module class name */
140140 def moduleClassName : TypeName =
141- if (Config .semanticNames) name.derived(NameInfo . ModuleClass ).toTypeName
141+ if (Config .semanticNames) name.derived(ModuleClassName ).toTypeName
142142 else (name ++ tpnme.MODULE_SUFFIX ).toTypeName
143143
144144 /** Convert this module class name to corresponding source module name */
@@ -147,7 +147,7 @@ object NameOps {
147147 /** If name ends in module class suffix, drop it */
148148 def stripModuleClassSuffix : Name =
149149 if (isModuleClassName)
150- if (Config .semanticNames) name.exclude(NameInfo . ModuleClass .kind )
150+ if (Config .semanticNames) name.exclude(ModuleClassName )
151151 else name dropRight MODULE_SUFFIX .length
152152 else name
153153
@@ -166,7 +166,7 @@ object NameOps {
166166
167167 /** The superaccessor for method with given name */
168168 def superName : TermName =
169- if (Config .semanticNames) name.derived( NameInfo . SuperAccessor ). toTermName
169+ if (Config .semanticNames) SuperAccessorName ( name.toTermName)
170170 else (nme.SUPER_PREFIX ++ name).toTermName
171171
172172 /** The expanded name of `name` relative to given class `base`.
@@ -182,11 +182,11 @@ object NameOps {
182182 likeTyped(
183183 if (Config .semanticNames) {
184184 def qualify (name : SimpleTermName ) =
185- prefix.derived( NameInfo .qualifier( separator.toString)(name) )
185+ separatorToQualified( separator.toString)(prefix.toTermName, name)
186186 name rewrite {
187187 case name : SimpleTermName =>
188188 qualify(name)
189- case DerivedTermName (_, _ : NameInfo . Qualified ) =>
189+ case AnyQualifiedName (_, _) =>
190190 // Note: an expanded name may itself be expanded. For example, look at javap of scala.App.initCode
191191 qualify(name.toSimpleName)
192192 }
@@ -204,7 +204,7 @@ object NameOps {
204204 def unexpandedName : N =
205205 if (Config .semanticNames)
206206 likeTyped {
207- name.rewrite { case DerivedTermName (_, NameInfo . Expand ( unexp) ) => unexp }
207+ name.rewrite { case XpandedName (_, unexp) => unexp }
208208 }
209209 else unexpandedNameOfMangled
210210
@@ -222,7 +222,7 @@ object NameOps {
222222 def expandedPrefix : N =
223223 if (Config .semanticNames)
224224 likeTyped {
225- name.rewrite { case DerivedTermName (prefix, NameInfo . Expand (_) ) => prefix }
225+ name.rewrite { case XpandedName (prefix, _ ) => prefix }
226226 }
227227 else expandedPrefixOfMangled
228228
@@ -236,7 +236,8 @@ object NameOps {
236236 if (Config .semanticNames && name.isSimple) {
237237 val unmangled = unexpandedNameOfMangled
238238 if (name eq unmangled) name
239- else likeTyped(expandedPrefixOfMangled.derived(NameInfo .Expand (unmangled.asSimpleName)))
239+ else likeTyped(
240+ XpandedName (expandedPrefixOfMangled.toTermName, unmangled.asSimpleName))
240241 }
241242 else name
242243
@@ -414,7 +415,7 @@ object NameOps {
414415 if (name.isSetterName) {
415416 if (name.isTraitSetterName) {
416417 if (Config .semanticNames) {
417- val DerivedTermName (_, NameInfo . TraitSetter ( original) ) = name
418+ val TraitSetterName (_, original) = name
418419 original.fieldName
419420 }
420421 else {
@@ -442,7 +443,7 @@ object NameOps {
442443 * @note Default getter name suffixes start at 1, so `pos` has to be adjusted by +1
443444 */
444445 def defaultGetterName (pos : Int ): TermName =
445- if (Config .semanticNames) name.derived( NameInfo . DefaultGetter ( pos) )
446+ if (Config .semanticNames) DefaultGetterName (name, pos)
446447 else {
447448 val prefix = if (name.isConstructorName) DEFAULT_GETTER_INIT else name
448449 prefix ++ DEFAULT_GETTER ++ (pos + 1 ).toString
@@ -452,7 +453,7 @@ object NameOps {
452453 def defaultGetterToMethod : TermName =
453454 if (Config .semanticNames)
454455 name rewrite {
455- case DerivedTermName (methName, NameInfo . DefaultGetter (_) ) => methName
456+ case DefaultGetterName (methName, _ ) => methName
456457 }
457458 else defaultGetterToMethodOfMangled
458459
@@ -469,7 +470,7 @@ object NameOps {
469470 def defaultGetterIndex : Int =
470471 if (Config .semanticNames)
471472 name collect {
472- case DerivedTermName (methName, NameInfo . DefaultGetter ( num) ) => num
473+ case DefaultGetterName (_, num) => num
473474 } getOrElse - 1
474475 else defaultGetterIndexOfMangled
475476
@@ -574,7 +575,7 @@ object NameOps {
574575 if (Config .semanticNames && name.isSimple)
575576 SuperAccessorName .tryUnmangle(name.lastPart) match {
576577 case scala.Some (original) =>
577- name.mapLast(_ => original.asSimpleName).derived( NameInfo . SuperAccessor )
578+ SuperAccessorName ( name.mapLast(_ => original.asSimpleName))
578579 case None =>
579580 name
580581 }
0 commit comments