cleaning up macros, one step at a time
A brand new, fast classfile parser.

Try it: ./tools/dump-class ./build/quick/classes

The output is intended to be easy to filter on the command line.
This is a starting point for lots of interesting bytecode analysis
for which we have waited too long.

Example.  All generic signatures we produce.

  // almost 20K classfiles
  % find build/quick/classes -name '*.class' |wc -l
      18519

  // fully parsed in 6 seconds
  tools/dump-class build/quick/classes |grep "^  signature" | wc -l
      50802

  real	0m6.230s

It's designed to be easy to make faster if you don't care about
particular classfile bits; you can override those methods to jump
forward in the input stream rather than building a structure.
For just a little sampling, here are our most frequently
repeated name/signature combinations.

194   signature               <init>  ()V   // this one is weird, wonder why there's a generic signature
115   signature    $div$colon$bslash  <A1:Ljava/lang/Object;>(TA1;Lscala/Function2<TA1;TA1;TA1;>;)TA1;
105   signature          applyOrElse  <A1:Ljava/lang/Object;B1:Ljava/lang/Object;>(TA1;Lscala/Function1<TA1;TB1;>;)TB1;
103   signature                 view  ()Ljava/lang/Object;
101   signature                toSet  <B:Ljava/lang/Object;>()Lscala/collection/immutable/Set<TB;>;

And the top five name/descriptor combinations.

11170   descriptor           <clinit>  ()V
10155   descriptor   serialVersionUID  J
7130   descriptor              apply  (Ljava/lang/Object;)Ljava/lang/Object;
3028   descriptor              apply  ()Ljava/lang/Object;
2426   descriptor             <init>  ()V
Better position printing in NodePrinters.

Try this unreasonably long command line:

scalac -Xprint-pos -Yshow-trees -Xprint:all -Yrangepos *.scala
SI-5702 Pattern parser halts on star

In patterns, the parser halts when it sees stars.
This means it does not handle infix notation for a case class
named "*".  This patch uses lookahead to decide whether to parse
'_' '*' as a sequence pattern or as the start of infix.
(For both normal and error cases, the tokens are always consumed
immediately.) Error messages are improved for _* (as a help to learners)
and slightly improved recovery helps the parse continue.
The entry point for XML patterns is now distinct; otherwise,
the change is local to pattern3-simplepattern; the entry point
for simplepattern() is unchanged because it is commented
"hook for IDE."
Merge commit 'refs/pull/443/head'; commit 'refs/pull/444/head' into develop
SI-3755: catch exception thrown by adaptToNewrun

it would be nice to have a test for this,
but you'd need to involve the repl,
as I couldn't trigger it using multiple scalac runs
essential information about macro expansion
fixes SI-5713
Maybe this will fix the test on windows.
Merge commit 'refs/pull/445/head'; commit 'refs/pull/446/head'; commit 'refs/pull/447/head' into develop
fixes broken eval tests
Revert "Moved ancillary methods off specialized traits."

This reverts commit 1d0372f84f9a7325a47beb55169cc454895ef74b.

I forgot about polymorphic dispatch.  Have to seek another way.
Merge commit '2bd62d2cfff47882eb72768cfb054638ed0f039b'
Porting akka future tests.

Fixed a bug in Future.zip.
Another tedious day at Checkfile Ranch.
Removes @bridge methods.
Removed a few more @deprecated members.

The ones which remain I'm not removing on purpose, as I know
from experience it's more trouble than it's yet worth.
@unspecialized annotation.

Suppresses specialization on a per-method basis.

I would have preferred to call it @nospecialize, but seeing as the
positive form of the annotation is @specialized, that would have sown
unnecessary grammatical confusion.  @nospecialized sounds a bit too
caveman for my tastes.  "Grog no specialized! Grog generic!"
Removed all the imports of the bridge annotation.

Now that nothing uses it.
Eliminate useless type parameter.