@@ -4,7 +4,7 @@ package core
4
4
import java .security .MessageDigest
5
5
import scala .annotation .switch
6
6
import scala .io .Codec
7
- import Names ._ , StdNames ._ , Contexts ._ , Symbols ._ , Flags ._
7
+ import Names ._ , StdNames ._ , Contexts ._ , Symbols ._ , Flags ._ , NameExtractors . _
8
8
import Decorators .PreNamedString
9
9
import util .{Chars , NameTransformer }
10
10
import Chars .isOperatorPart
@@ -49,14 +49,14 @@ object NameOps {
49
49
}
50
50
}
51
51
52
- class PrefixNameExtractor (pre : TermName , info : NameInfo ) {
52
+ class PrefixNameExtractor (pre : TermName , bldr : NameExtractors . PrefixNameExtractor ) {
53
53
def apply (name : TermName ): TermName =
54
- if (Config .semanticNames) name.derived(info ) else pre ++ name
54
+ if (Config .semanticNames) bldr(name ) else pre ++ name
55
55
56
56
def unapply (name : TermName ): Option [TermName ] =
57
57
if (Config .semanticNames)
58
58
name match {
59
- case DerivedTermName (original, `info` ) => Some (original)
59
+ case bldr (original) => Some (original)
60
60
case _ => None
61
61
}
62
62
else tryUnmangle(name)
@@ -66,8 +66,8 @@ object NameOps {
66
66
else None
67
67
}
68
68
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 )
71
71
72
72
implicit class NameDecorator [N <: Name ](val name : N ) extends AnyVal {
73
73
import nme ._
@@ -83,12 +83,12 @@ object NameOps {
83
83
def isProtectedAccessorName = name startsWith PROTECTED_PREFIX
84
84
def isReplWrapperName = name.toSimpleName containsSlice INTERPRETER_IMPORT_WRAPPER
85
85
def isTraitSetterName =
86
- if (Config .semanticNames) name.is(NameInfo . TraitSetterKind )
86
+ if (Config .semanticNames) name.is(TraitSetterName )
87
87
else name containsSlice TRAIT_SETTER_SEPARATOR
88
88
def isSetterName = name endsWith SETTER_SUFFIX
89
89
def isSingletonName = name endsWith SINGLETON_SUFFIX
90
90
def isModuleClassName =
91
- if (Config .semanticNames) name.is(NameInfo . ModuleClass .kind )
91
+ if (Config .semanticNames) name.is(ModuleClassName )
92
92
else name endsWith MODULE_SUFFIX
93
93
def isAvoidClashName = name endsWith AVOID_CLASH_SUFFIX
94
94
def isImportName = name startsWith IMPORT
@@ -138,7 +138,7 @@ object NameOps {
138
138
139
139
/** Convert this module name to corresponding module class name */
140
140
def moduleClassName : TypeName =
141
- if (Config .semanticNames) name.derived(NameInfo . ModuleClass ).toTypeName
141
+ if (Config .semanticNames) name.derived(ModuleClassName ).toTypeName
142
142
else (name ++ tpnme.MODULE_SUFFIX ).toTypeName
143
143
144
144
/** Convert this module class name to corresponding source module name */
@@ -147,7 +147,7 @@ object NameOps {
147
147
/** If name ends in module class suffix, drop it */
148
148
def stripModuleClassSuffix : Name =
149
149
if (isModuleClassName)
150
- if (Config .semanticNames) name.exclude(NameInfo . ModuleClass .kind )
150
+ if (Config .semanticNames) name.exclude(ModuleClassName )
151
151
else name dropRight MODULE_SUFFIX .length
152
152
else name
153
153
@@ -166,7 +166,7 @@ object NameOps {
166
166
167
167
/** The superaccessor for method with given name */
168
168
def superName : TermName =
169
- if (Config .semanticNames) name.derived( NameInfo . SuperAccessor ). toTermName
169
+ if (Config .semanticNames) SuperAccessorName ( name.toTermName)
170
170
else (nme.SUPER_PREFIX ++ name).toTermName
171
171
172
172
/** The expanded name of `name` relative to given class `base`.
@@ -182,11 +182,11 @@ object NameOps {
182
182
likeTyped(
183
183
if (Config .semanticNames) {
184
184
def qualify (name : SimpleTermName ) =
185
- prefix.derived( NameInfo .qualifier( separator.toString)(name) )
185
+ separatorToQualified( separator.toString)(prefix.toTermName, name)
186
186
name rewrite {
187
187
case name : SimpleTermName =>
188
188
qualify(name)
189
- case DerivedTermName (_, _ : NameInfo . Qualified ) =>
189
+ case AnyQualifiedName (_, _) =>
190
190
// Note: an expanded name may itself be expanded. For example, look at javap of scala.App.initCode
191
191
qualify(name.toSimpleName)
192
192
}
@@ -204,7 +204,7 @@ object NameOps {
204
204
def unexpandedName : N =
205
205
if (Config .semanticNames)
206
206
likeTyped {
207
- name.rewrite { case DerivedTermName (_, NameInfo . Expand ( unexp) ) => unexp }
207
+ name.rewrite { case XpandedName (_, unexp) => unexp }
208
208
}
209
209
else unexpandedNameOfMangled
210
210
@@ -222,7 +222,7 @@ object NameOps {
222
222
def expandedPrefix : N =
223
223
if (Config .semanticNames)
224
224
likeTyped {
225
- name.rewrite { case DerivedTermName (prefix, NameInfo . Expand (_) ) => prefix }
225
+ name.rewrite { case XpandedName (prefix, _ ) => prefix }
226
226
}
227
227
else expandedPrefixOfMangled
228
228
@@ -236,7 +236,8 @@ object NameOps {
236
236
if (Config .semanticNames && name.isSimple) {
237
237
val unmangled = unexpandedNameOfMangled
238
238
if (name eq unmangled) name
239
- else likeTyped(expandedPrefixOfMangled.derived(NameInfo .Expand (unmangled.asSimpleName)))
239
+ else likeTyped(
240
+ XpandedName (expandedPrefixOfMangled.toTermName, unmangled.asSimpleName))
240
241
}
241
242
else name
242
243
@@ -414,7 +415,7 @@ object NameOps {
414
415
if (name.isSetterName) {
415
416
if (name.isTraitSetterName) {
416
417
if (Config .semanticNames) {
417
- val DerivedTermName (_, NameInfo . TraitSetter ( original) ) = name
418
+ val TraitSetterName (_, original) = name
418
419
original.fieldName
419
420
}
420
421
else {
@@ -442,7 +443,7 @@ object NameOps {
442
443
* @note Default getter name suffixes start at 1, so `pos` has to be adjusted by +1
443
444
*/
444
445
def defaultGetterName (pos : Int ): TermName =
445
- if (Config .semanticNames) name.derived( NameInfo . DefaultGetter ( pos) )
446
+ if (Config .semanticNames) DefaultGetterName (name, pos)
446
447
else {
447
448
val prefix = if (name.isConstructorName) DEFAULT_GETTER_INIT else name
448
449
prefix ++ DEFAULT_GETTER ++ (pos + 1 ).toString
@@ -452,7 +453,7 @@ object NameOps {
452
453
def defaultGetterToMethod : TermName =
453
454
if (Config .semanticNames)
454
455
name rewrite {
455
- case DerivedTermName (methName, NameInfo . DefaultGetter (_) ) => methName
456
+ case DefaultGetterName (methName, _ ) => methName
456
457
}
457
458
else defaultGetterToMethodOfMangled
458
459
@@ -469,7 +470,7 @@ object NameOps {
469
470
def defaultGetterIndex : Int =
470
471
if (Config .semanticNames)
471
472
name collect {
472
- case DerivedTermName (methName, NameInfo . DefaultGetter ( num) ) => num
473
+ case DefaultGetterName (_, num) => num
473
474
} getOrElse - 1
474
475
else defaultGetterIndexOfMangled
475
476
@@ -574,7 +575,7 @@ object NameOps {
574
575
if (Config .semanticNames && name.isSimple)
575
576
SuperAccessorName .tryUnmangle(name.lastPart) match {
576
577
case scala.Some (original) =>
577
- name.mapLast(_ => original.asSimpleName).derived( NameInfo . SuperAccessor )
578
+ SuperAccessorName ( name.mapLast(_ => original.asSimpleName))
578
579
case None =>
579
580
name
580
581
}
0 commit comments