summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/macros/runtime/Names.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/reflect/macros/runtime/Names.scala')
-rw-r--r--src/compiler/scala/reflect/macros/runtime/Names.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/compiler/scala/reflect/macros/runtime/Names.scala b/src/compiler/scala/reflect/macros/runtime/Names.scala
new file mode 100644
index 0000000000..ee9f3a56d3
--- /dev/null
+++ b/src/compiler/scala/reflect/macros/runtime/Names.scala
@@ -0,0 +1,17 @@
+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]
+} \ No newline at end of file