summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/Constructors.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2015-11-11 14:39:11 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2015-11-12 13:28:16 -0800
commit9050aaf60fcbbe9465e63fe39963fa14f7af2776 (patch)
tree7b306162de605d2bffcf396881ab77b049c9ddbd /src/compiler/scala/tools/nsc/transform/Constructors.scala
parent57de5b8bd811014b446c7c344aa4504e828888e6 (diff)
downloadscala-9050aaf60fcbbe9465e63fe39963fa14f7af2776.tar.gz
scala-9050aaf60fcbbe9465e63fe39963fa14f7af2776.tar.bz2
scala-9050aaf60fcbbe9465e63fe39963fa14f7af2776.zip
Sbt-compatible implementation of `isPastXXXPhase`
sbt's [API extraction phase](https://github.com/sbt/sbt/blob/0.13/compile/interface/src/main/scala/xsbt/API.scala#L25) extends `scala.reflect.internal.Phase`, which implements a bunch of methods, such as `erasedTypes` as `false`, which are then overridden by scalac in `GlobalPhase` (nested in scala.tools.nsc.Global). (`erasedTypes` in particular is again overridden in the back-end -- for performance?) However, since sbt's compiler phases extend `reflect.internal.Phase`, the logic for detecting the current phase does not work, as the default implementation is called (simply returning `false`), when chasing the `prev` pointers hits an sbt-injected phase, as its implementation is `reflect.internal`'s constant `false`.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/Constructors.scala')
0 files changed, 0 insertions, 0 deletions