Merge pull request #2140 from viktorklang/wip-init-bug-executioncontextimpl-2.10.1

Fixing initialization order bug in ExecutionContextImpl, regression from...
Merge pull request #2138 from retronym/ticket/6576-null-strikes-back

SI-6576 Workaround / diagnostic for IDE NPE.
Merge pull request #2118 from lrytz/annotatedRetyping

Fix typing idempotency bug with Annotated trees
Boxing cleanup: erasure, post-erasure, value classes.

Introduces extractors for value class trees. Puts them to
work to make the value class tree manipulations believable.
Eliminated some boxing code in erasure which had been
marked "maybe subsumed by posterasure?" after deciding
that it had been subsumed by posterasure.

Added some same-bytecode tests involving value class boxing
(actually the lack thereof.)
Merge pull request #2119 from JamesIry/master_SI-6642

SI-6642 Adds iteratorFrom, keysIteratorFrom, and valuesIteratorFrom
bump build number to 2.10.2
Merge pull request #2146 from adriaanm/build-2.10.2

bump build number to 2.10.2
Merge 2.10.x into master.

Conflicts:
	build.number
	src/compiler/scala/tools/nsc/doc/base/MemberLookupBase.scala
	src/compiler/scala/tools/nsc/typechecker/Macros.scala
	test/files/presentation/doc/doc.scala
Fix typing idempotency bug with Annotated trees

typedAnnotated transforms an Annotated tree into a Typed tree. The
original field of the result is set to the Annotated tree.

The bug was that typedAnnotated was using the untyped Annotated tree
as original, but also set its type. When re-typing later on the same
Annotated tree, the typer would consider it as alreadyTyped. This
is incorrect, the typer needs to convert Annotated trees to Typed.

Also, the Annotated tree only had its type field set, but its children
were still untyped. This crashed the compiler lateron, non-typed trees
would get out of the typing phase.
Additional test case for Lukas' fix to annotated originals.

This was inspired by the regression that Mark encountered
when upgrading SBT from 2.10.0 to 2.10.1-RC1.
SI-7164 - Removing NotImplementedError as Fatal from s.u.c.NonFatal
SI-7015 Removes redundant aconst_null; pop; aconst_null creation

In an effort to adapt methods and field accesses of type Null to
other types, we were always emitting

    aconst_null
    pop
    aconst_null

The problem is we were doing that even when the JVM was in a position
to know it had null value, e.g. when the user had written a null
constant. This commit fixes that and includes a test to show that the
resulting byte code still works even without repeating ourselves and/or
repeating ourselves.

This commit also makes the scala.runtim.Null$ constructor private. It
was a sealed abstract class which prevented subclassing in Scala, but
it didn't prevent subclassing in Java. A private constructor takes care
of that hole so now the only value of type Null$ should be null.

Along the way I found some other questionable things in adapt and I've
added TODO's and issue https://issues.scala-lang.org/browse/SI-7159 to
track.
please ant with filenames, add comments
Merge pull request #2152 from retronym/topic/annotatedRetyping-2.10.1

SI-7163 backport of annotated retyping to 2.10.1
Merge pull request #2145 from paulp/pr/value-class-extractors

Boxing cleanup: erasure, post-erasure, value classes.
Merge pull request #2142 from paulp/pr/move-implicit-tags

Extracted abstract implicit vals from Types.
Merge pull request #2141 from paulp/pr/overriding-methods

Fix and optimization in overriding logic.
Merge pull request #2151 from adriaanm/merge-2.10.x

Merge 2.10.x into master
Merge pull request #2133 from som-snytt/typos-2.10.x

Shadowed Implict typo (fixes no issue)
Merge pull request #2154 from viktorklang/wip-SI7164-nonfatal-notimplementederror

SI-7164 - Removing NotImplementedError as Fatal from s.u.c.NonFatal