File tree Expand file tree Collapse file tree 4 files changed +18
-1
lines changed
src/compiler/scala/reflect/macros/contexts Expand file tree Collapse file tree 4 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -33,8 +33,9 @@ trait Names {
3333 //
3434 // TODO: hopefully SI-7823 will provide an ultimate answer to this problem.
3535 // In the meanwhile I will also keep open the original issue: SI-6879 "c.freshName is broken".
36+ val prefix = if (name.endsWith(" $" )) name else name + " $" // SI-8425
3637 val sortOfUniqueSuffix = freshNameCreator.newName(nme.FRESH_SUFFIX )
37- name + " $ " + sortOfUniqueSuffix
38+ prefix + sortOfUniqueSuffix
3839 }
3940
4041 def freshName [NameType <: Name ](name : NameType ): NameType =
Original file line number Diff line number Diff line change 1+ List(fresh$macro$1, $macro$2)
Original file line number Diff line number Diff line change 1+ import scala .language .experimental .macros
2+ import scala .reflect .macros .blackbox .Context
3+
4+ object Macros {
5+ def foo : Unit = macro impl
6+ def impl (c : Context ) = {
7+ import c .universe ._
8+ val test1 = c.freshName()
9+ val test2 = c.freshName(" $" )
10+ q " println(List( $test1, $test2)) "
11+ }
12+ }
Original file line number Diff line number Diff line change 1+ object Test extends App {
2+ Macros .foo
3+ }
You can’t perform that action at this time.
0 commit comments