TypeTree printing modified (SI-8447)
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"
SI-8494 Restore filtering javap output

Regressed in support for new delayedEndPoint, where it must
pick what to filter for.

`s/claas/klass/` and similar.
SI-8494 Javap filter includes specialized

When filtering javap output, include specialized versions
of methods. For anonfuns, in particular, the apply$sp is
the method of interest.
Update PartialFunction documentation to include the fact that the caller is responsible for checking 'isDefinedAt'
Update PartialFunction documentation to include the fact that the caller is responsible for checking 'isDefinedAt'
SI-8589 Performance improvement for ArrayCharSequence.toString
SI-8675 Avoid unreported error after second try using implicit view

This is specific to situations in which we first typecheck an
application `qual.m(arg)` against the method `m` directly provided
by `qual`, and then fall back to `implicitView(qual).m(arg)`.

Regressed in SI-3971 / 7fa77af, in which error reports were moved
to the innermost `Apply`, and the check for `errorInResult` was
accordingly changed to recurse through `Apply` trees.

Before that change, we did not fall back to using a view. After the
change, we do try a view. We retypecheck the arguments under the
`retyping` mode (see `tryTypedArgs`), but this doesn't seem to
be enough to avoid leaking the error typed nested trees from the
first try.

Here's an example from the enclosed test case:

    a.update(0, x[A]({new isString(true)}))
                                   `-- error typed

    refArrayOps(a).update(0, x[A]({new isString(true)}))
                             `                  `-- error type persists
                              `-- this tree is retypecked by tryTypedArgs

This commit changes `onError` to only proceed with the second
try if the retyped argument trees are error free.
SI-8675 Add another test case for swallowed type errors

As reported on scala-internals. After tightening up the treatment
of undetermined type parameters in SI-7944, the enclosed test
case no longer typechecks. And since the regression fixed in the
previous commit, the error was swallowed by the typechecker only
to be burped up by a crash in the backend.
SI-7577  Incorrect documentation: current default isn't Vector

Fixed documentation to specify List in four cases where it was wrong or missing.
Revised comment to appeal to lchoran's and som-snytts comments
SI-8638  Empty UnrolledBuffer hangs on prepend.

Tracked down bug to incorrect recursion in insertAll.  Fixed by adding a missing case (which incidentally will provide better performance when adding to the end of a block).

No specific tests, as this is caught by quasi-complete collections tests.
SI-5200  Incorrect advice for implementing mutable.Set in scaladoc

Fixed advice; it was already there in mutable.SetLike but a case sensitivity error kept it from appearing.
SI-8335  List.++ avoidably burns memory

Changed to check the identity of the CanBuildFrom instead of the identity of the generated builder to shortcut building.  Should reduce memory churn on ++ a little.
SI-7115  JMapWrapper.get can incorrectly return Some(null)

This isn't incorrect.  Trying to use a single-threaded interface in a concurrent context is supposed to break in various unpleasant ways.

Documentation has been added to encourage one to avoid wrapping a concurrent map in the generic wrapper (which assumes a single thread), and pointing out that synchronized maps do not maintain synchronization for non-atomic operations (including get).

More docs.
SI-8690 BufferedSource.mkString mistakenly skipped the first char.

mkString is overriden in BufferedSource for performance, but the
implementation always used the wrong reader. This seems to be a typo
(`allReader` is declared 5 lines earlier but never used, `charReader`
is used in its place).
Merge pull request #3849 from gourlaysama/wip/t8690

SI-8690 BufferedSource.mkString mistakenly skipped the first char.
SI-8292 report error when scaladoc fails to find doclet.
Merge pull request #3836 from gourlaysama/wip/t8292

SI-8292 report error when scaladoc fails to find doclet.
SI-8703 add support for blocks with just a single expression to quasiquotes

Previously it was impossible to match a block that was constructed as

    Block(Nil, term)

Due to the fact that quasiquotes always flatten those into just term. This is
a correct behaviour for construction (for sake of consistency with parser) but
doing it in deconstruction mode make it impossible to match such blocks which
could have been constructed manually somewhere.

To fix this we just disable block flattening in deconstruction mode.
Interestingly enough this doesn't break existing code due to the fact that
quasiquote's block matcher also matches expressions as single-element blocks.

This allows to match single-element blocks with patterns like q"{ $foo }".