scala/scala — pull request #3245 by densh (2013-12-09 12:34:54+00:00)
Title: SI-8047 change fresh name encoding in quasiquotes to avoid symbol owner corruption

Previously a following encoding was used to represent fresh names that should be created at runtime of the quasiquote:

```
build.withFreshTermName(prefix1) { name1 =>
...
build.withFreshTermName(prefixN) { nameN =>
tree
}
...
}
```

It turned out that this encoding causes symbol corruption due to the fact that tree can contain splicees with invalid owners.

Now a simpler and probably better performing alternative is used instead:

```
{
val name1 = universe.build.freshTermName(prefix1)
...
val nameN = universe.build.freshTermName(prefixN)
tree
}
```

Here owner stays the same and doesn’t need any adjustment.