@@ -19,11 +19,14 @@ object NameInfo {
1919 type Kind = Int
2020
2121 val TermNameKind = 0
22- val QualifiedKind = 1
23- val DefaultGetterKind = 3
24- val VariantKind = 4
25- val SuperAccessorKind = 5
26- val InitializerKind = 6
22+ val SelectKind = 1
23+ val FlattenKind = 2
24+ val ExpandKind = 3
25+ val TraitSetterKind = 4
26+ val DefaultGetterKind = 5
27+ val VariantKind = 6
28+ val SuperAccessorKind = 7
29+ val InitializerKind = 8
2730 val ModuleClassKind = 10
2831
2932 val qualifier : Map [String , SimpleTermName => Qualified ] =
@@ -32,7 +35,7 @@ object NameInfo {
3235 str.EXPAND_SEPARATOR -> Expand ,
3336 str.TRAIT_SETTER_SEPARATOR -> TraitSetter )
3437
35- def definesNewName (kind : Kind ) = kind <= QualifiedKind
38+ def definesNewName (kind : Kind ) = kind <= TraitSetterKind
3639
3740 /** TermNames have the lowest possible kind */
3841 val TermName = new NameInfo {
@@ -41,32 +44,36 @@ object NameInfo {
4144 }
4245
4346 trait Qualified extends NameInfo {
47+ def kind : Kind
4448 def name : SimpleTermName
4549 def separator : String
4650 def newLikeThis (name : SimpleTermName ): Qualified // TODO: should use copy instead after bootstrap
4751
48- def kind = QualifiedKind
4952 override def map (f : SimpleTermName => SimpleTermName ): NameInfo = newLikeThis(f(name))
5053 def mkString (underlying : TermName ) = s " $underlying$separator$name"
5154 override def toString = s " ${getClass.getSimpleName}( $name) "
5255 }
5356
5457 case class Select (val name : SimpleTermName ) extends Qualified {
58+ def kind = SelectKind
5559 def separator = " ."
5660 def newLikeThis (name : SimpleTermName ) = Select (name)
5761 }
5862
5963 case class Flatten (val name : SimpleTermName ) extends Qualified {
64+ def kind = FlattenKind
6065 def separator = " $"
6166 def newLikeThis (name : SimpleTermName ) = Flatten (name)
6267 }
6368
6469 case class Expand (val name : SimpleTermName ) extends Qualified {
70+ def kind = ExpandKind
6571 def separator = str.EXPAND_SEPARATOR
6672 def newLikeThis (name : SimpleTermName ) = Expand (name)
6773 }
6874
6975 case class TraitSetter (val name : SimpleTermName ) extends Qualified {
76+ def kind = TraitSetterKind
7077 def separator = nme.TRAIT_SETTER_SEPARATOR .toString
7178 def newLikeThis (name : SimpleTermName ) = TraitSetter (name)
7279 }
0 commit comments