scala/scala — pull request #3588 by adriaanm (2014-02-26 19:44:49+00:00)
Title: Revert "SI-7624 Fix -feature warnings in scala/tools/scalap"

rework of #3587 to preserve compatibility with partest

This reverts commit f2de2c4ec43180351ef1f306bcc5f24643ba5477 because it
broke both lift-json and json4s libraries that depend on scalap's APIs.
Arguably, those libraries shouldn't depend on unofficial APIs but they do
because they had no better alternative at the time (no Scala reflection).

The cost of breaking them is not worth minor change of the package.

The f2de2c4ec43180351ef1f306bcc5f24643ba5477 mixed two things:

1. Fixing feature warnings
2. Changing package name

When reverting (and resolving conflicts) I tried to keep 1. and revert just
2. However, there were also some questionable changes related to 1. that
got reverted. In particular, a package object with implicit members that
enable language features is an anti-pattern because members of package
object are visible both _within_ and _outside_ of the package. Therefore,
user could use wildcard import for importing everything from scalap
package and enabled postfixOps language feature unknowingly. I went for
just adding imports in just those few files where they were needed.

We had to ensure compatibility with partest, which already depends on the
package structure that this commit reverts. This is done in the package object in:
src/scalap/scala/tools/scalap/package.scala

Conflicts:
src/partest/scala/tools/partest/nest/Runner.scala
src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala
src/scalap/scala/tools/scalap/scalax/rules/Rule.scala
src/scalap/scala/tools/scalap/scalax/rules/Rules.scala
src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala
src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala