summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/api/Names.scala
blob: 0ba5ad28f069c18732a79fd2c8fcddd02e368253 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package scala.reflect
package api

trait Names {

  type Name >: Null <: AbsName
  type TypeName <: Name
  type TermName <: Name

  abstract class AbsName {
    def isTermName: Boolean
    def isTypeName: Boolean
    def toTermName: TermName
    def toTypeName: TypeName
  }

  def newTermName(s: String): TermName
  def newTypeName(s: String): TypeName

  def EmptyTermName: TermName = newTermName("")
  def EmptyTypeName: TypeName = EmptyTermName.toTypeName
}