summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/makro/runtime/Names.scala
blob: 3f43b15d90da4699970119f2bfc0954e01ed206b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package scala.reflect.makro
package runtime

trait Names {
  self: Context =>

  lazy val freshNameCreator = callsiteTyper.context.unit.fresh

  def fresh(): String =
    freshNameCreator.newName()

  def fresh(name: String): String =
    freshNameCreator.newName(name)

  def fresh[NameType <: Name](name: NameType): NameType =
    name.mapName(freshNameCreator.newName(_)).asInstanceOf[NameType]
}