SI-7109 SI-7153 Generalize the API to get docComments: allow to force docTrees
for given fragments. Don't type-check when forcing doc comments, but rather
 do it directly. Test the new functionality as well as better tests for
the old one.
SI-7126 Account for the alias types that don't dealias.

After this change:

    qbin/scalac -Ydebug test/files/pos/t7126.scala 2>&1 | grep warning
    warning: dropExistential did not progress dealiasing Test.this.T[Test.this.T], see SI-7126
    one warning found

T[T]? Really? The true bug lies somewhere else; the comments of
the ticket illuminate the general areas of concern.
SI-7183 Disable unreachability for withFilter matches.

This avoids spurious unreachable warnings on code
that the user didn't write.

The parser desugars for-comprehensions such as:

    for (A(a) <- List(new A)) yield a

To:

    List(new A()).withFilter(((check$ifrefutable$2) =>
      check$ifrefutable$2: @scala.unhecked match {
       case A((a @ _)) => true
       case _ => false
      })
    )

But, if `A.unapply` returns `Some[_]`, the last case is dead code.
(Matching against a regular case class *would* fall through in
the caes of a null scrutinee.)

In SI-6902, we enabled unreachability warnings, even if the
scrutinee was annotated as @unchecked. That was consistent
with the 2.9.2 behaviour, it was only disabled temporarily
(actually, accidentally) in 2.10.0. But, the old pattern matcher
didn't warn about this code.

This commit makes the pattern matcher recognise the special
scrutinee based on its name and disables both exhaustivity
*and* unreachability analysis.

To do so, the we generalize the boolean flag `unchecked` to
the class `Suppression`.
SI-7126 Eliminate a source of malformed types.

The kind-polymorphic nature of Nothing and Any in
concert with type argument inference could lead to
types like `T[T]` (where `type T=Any`).

Compensatory action is taken later on to recover;
see the usages of `TypeRef#typeParamsMatchArgs`.
But this these types have a nasty property, they
can dealias to themselves. Callers recursing through
types who fail to account for this hit an infinite
recursion, as was reported in SI-7126.

This commit simply dealiases `T` when registering
the type bound in `unifySimple`.

We should try to weed out additional sources of
these types.
SI-7190 macros no longer give rise to bridges

Amazingly enough, this got through all the testing we performed. But now
erasure knows that it shouldn't generate bridges for macro methods.
Merge pull request #2167 from retronym/ticket/7126

SI-7126 Account for the alias types that don't dealias.
Merge pull request #2168 from retronym/ticket/7183

SI-7183 Disable unreachability for withFilter matches.
test.done again checks bin compat (using mima 0.1.5)
[nomaster] SI-7195 minor version mustn't introduce warnings

We want 2.10.1 to be a drop-in replacement for 2.10.0,
so we can't start warning where we weren't warning in 2.10.0.

See SI-5954 (#1882, #2079) for when it was an implementation restriction,
which was then weakened to a warning. It's now hidden behind -Ydebug.
SI-7185 Avoid NPE in TreeInfo.isExprSafeToInline

We got there typechecking code with a redundant
layer of Block.

We can't express that in source code, so we test
this with manual tree construction and with XML
literals, which as reported produce such trees.
Merge pull request #2189 from adriaanm/ticket-7195

[nomaster] SI-7195 minor version mustn't introduce warnings
Merge pull request #2190 from adriaanm/test-runs-mima-2.10.1

test.done again checks bin compat (using mima 0.1.5)
simplify dependencies between patmat components, remove self types
move sat solving to separate file
better names for components of MatchTranslator
[port] SI-7183 Disable unreachability for withFilter matches.

This is a forward port of #2168 (originally for 2.10.1,
but the pattern matcher has since been refactored in 2.10.x.)
Merge 2.10.1 into 2.10.x

The fix for SI-7183 in 440bf0a8c2 was forward ported in f73d50f46c.

Conflicts:
	src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
SI-7215 Fix transpose of an empty Array[Array[T]].
Merge pull request #2178 from scalamacros/ticket/7190

SI-7190 macros no longer give rise to bridges
Merge pull request #2175 from retronym/ticket/7185

SI-7185 Avoid NPE in TreeInfo.isExprSafeToInline