summaryrefslogblamecommitdiff
path: root/src/compiler/scala/reflect/macros/runtime/Names.scala
blob: ee9f3a56d35b1d57a04312499702d99db95e9e0a (plain) (tree)
1
2
3
4
5
6
7
8
9
                            






                                                              
                       
                              
 
                                   
                                  
 
                                                         
                                                                    
 
package scala.reflect.macros
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]
}