scala/scala — pull request #3772 by densh (2014-05-21 14:56:31+00:00)
Title: SI-8609 Fix flattening of definitions and imports in quasiquotes 

Quasiquotes allow to unquote trees with ..$ with block flattening
semantics to simplify composition:
```
val onetwo = q"1; 2"
val onetwothree = q"..$onetwo; 3" // same as q"1; 2; 3"
```
If there is no block it will be equivalent to $ unquoting:
```
val one = q"1"
val onetwo = q"..$one; 2" // same as q"1; 2"
```
But the inconsistency here is that currently only terms support
this single-element semantics. This commit extends this functionality
to also support definitions and imports. So that following code works:
```
val q1 = q"val x = 1"
val q2 = q"..$q1; val y = 2" // same as q"val x = 1; val y = 2"
```
review @retronym @xeno-by