SI-7883 - don't iterate over all keys in MapWrapper.containsKey()
SI-7883: Added a comment per CR feedback from @adriaanm, @Ichoran
SI-3871 Missing test case for protected bug.

c39f26382dddaa7 fixed the bug but didn't commit a test case.
IterableLike grouped : fix documentation


scala> Seq(1,2,3).grouped(2).toList
res1: List[Seq[Int]] = List(List(1, 2), List(3))
IterableLike.grouped() : More explicit documentation
Filter JVM debug output for custom options in partest

The Picked up _JAVA_OPTIONS line occurs on Sun's JDK as a debug output when you use that variable to set up custom VM options
fixes handling of fancy nested classes in runtime reflection

Replaces the `jclazz.isMemberClass` check for whether we have an
inner/nested class with `jclazz.getEnclosingClass != null`, because there
exist classes produced by javac (see the attached jar file and the test log)
which have the following properties:
  * They are nested within a parent class
  * getEnclosingClass returns a non-null value
  * isMemberClass returns false

Previously such classes were incorrectly treated as non-nested, were
incorrectly put into an enclosing package rather than an enclosing class,
and had their names trimmed in the process, leading to situations when
a package has multiple declarations with the same name. This is now fixed.

When changing the check, we need to be careful with interpretation of
what Class.getEnclosingXXX methods return. If getEnclosingClass produces
a non-null result, this doesn't mean that the class is inner or nested,
because getEnclosingClass is also not null for local classes (the ones
with getEnclosingMethod != null || getEnclosingConstructor != null).
This is expressed in the order of pattern match clauses in `sOwner`.

Now when the bug is fixed, I also revert b18a2f8798b2, restoring a very
important integrity check in runtime reflection, which I had to disable
a couple hours ago to fix a master breakage. More details at scala-internals:
https://groups.google.com/forum/#!topic/scala-internals/hcnUFk75MgQ
SI-6840 fixes weird typing of quasiquote arguments

Previously quasiquote arguments were type checked against Any
which caused weird inference that made splicing of complex expressions
unusable:

   val l1 = List(q"foo")
   val l2 = List(q"bar")
   q"f(..${l1 ++ l2})" // argument type checked as Any instead of List[Tree]

This is fixed by forcing compiler to type check against type
variable which itself isn't used in any other way.
SI-7519: Additional test case covering sbt/sbt#914
SI-7020 Deterministic warnings for pattern matcher, take 2

The previous swing at determinism, ebb01e05cbe4, made decent
contact but apparently didn't hit it out of the park. The test
wavered every hundred or so runs, as witnessed occasionally in
nightly builds or pull request validation.

I setup a test to run neg/7020.scala a few hundred times, and
could trigger the failure reliably.

I then swept through the pattern matcher in search of HashMap and
HashSet creation, and changed them all to the Linked variety.
The results of that are published in retronym#ticket/7020-3 [1].

This commit represents the careful whittling down of that patch
to the minimal change required to exhibit determinism.

[1] https://github.com/retronym/scala/compare/ticket/7020-3
better macro impl shape errors

With the advent of quasiquotes, we allowed both arguments and return types
of macro impls to be c.Tree's (as opposed to traditional c.Expr[T]'s).

This warrants an update of macro def <-> macro impl signature mismatch
errors that include a printout of suggested macro impl signatures. Now
along with a signature that contains exprs, we suggest another signature
that has all exprs replaced by trees
Merge pull request #3057 from xeno-by/topic/fancy-java-classes

fixes handling of fancy nested classes in runtime reflection
Merge pull request #3060 from harrah/t7519-b

SI-7519: Additional test case covering sbt/sbt#914
Prevent useless filter operation in docs
Merge pull request #3068 from retronym/ticket/7020-3-1

 Deterministic warnings for pattern matcher, take 2
SI-3871 Testing protected access against the spec

I've marked a few minor cases in the test with !!! where I believe
the behaviour goes beyond the spec.
Merge pull request #3070 from xeno-by/topic/macro-impl-wrong-shape

better macro impl shape errors
Merge pull request #3059 from densh/pull/si-6840

SI-6840 fixes weird typing of quasiquote arguments
Merge pull request #3039 from huitseeker/filter-partest-JAVA_OPTIONS

Filter JVM debug output for custom options in partest
Merge pull request #3026 from retronym/ticket/3871

 Tests for protected access