diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-07-21 10:04:56 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-08-02 15:51:04 +0200 |
commit | f126f40b8c83be96404fc5fbd50b26b694bb9e86 (patch) | |
tree | 077e33161c2a1152a9d7319d92e017dc7e443d2f /src | |
parent | 280c4906d18fd827e2c934af49e253064ac753ef (diff) | |
download | scala-f126f40b8c83be96404fc5fbd50b26b694bb9e86.tar.gz scala-f126f40b8c83be96404fc5fbd50b26b694bb9e86.tar.bz2 scala-f126f40b8c83be96404fc5fbd50b26b694bb9e86.zip |
prepares our macro defs for refactoring (Step II)
Since the previous commit the compiler doesn't need any help
to find out that fast-tracked macros are macros. Hence I'm
replacing their RHSes with the universal ??? body.
This way macro definitions defined in scala (for example,
tag materialization macros or certain string formatters)
won't stand in the way of the changes to the macro system.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/reflect/reify/package.scala | 1 | ||||
-rw-r--r-- | src/library/scala/StringContext.scala | 4 | ||||
-rw-r--r-- | src/library/scala/reflect/base/Base.scala | 1 | ||||
-rw-r--r-- | src/library/scala/reflect/makro/internal/package.scala | 7 | ||||
-rw-r--r-- | src/reflect/scala/reflect/api/Universe.scala | 4 | ||||
-rw-r--r-- | src/reflect/scala/reflect/makro/Context.scala | 2 | ||||
-rw-r--r-- | src/reflect/scala/reflect/runtime/package.scala | 5 |
7 files changed, 7 insertions, 17 deletions
diff --git a/src/compiler/scala/reflect/reify/package.scala b/src/compiler/scala/reflect/reify/package.scala index e4cf451643..bd17b2d5df 100644 --- a/src/compiler/scala/reflect/reify/package.scala +++ b/src/compiler/scala/reflect/reify/package.scala @@ -1,7 +1,6 @@ package scala.reflect import language.implicitConversions -import language.experimental.macros import scala.reflect.base.{Universe => BaseUniverse} import scala.reflect.makro.{Context, ReificationError, UnexpectedReificationError} import scala.tools.nsc.Global diff --git a/src/library/scala/StringContext.scala b/src/library/scala/StringContext.scala index 7d37fa4aa1..723d95a499 100644 --- a/src/library/scala/StringContext.scala +++ b/src/library/scala/StringContext.scala @@ -8,8 +8,6 @@ package scala -import language.experimental.macros - /** A class to support string interpolation. * This class supports string interpolation as outlined in Scala SIP-11. * It needs to be fully documented once the SIP is accepted. @@ -99,7 +97,7 @@ case class StringContext(parts: String*) { * format specifier `%%`. */ // The implementation is magically hardwired into `scala.tools.reflect.MacroImplementations.macro_StringInterpolation_f` - def f(args: Any*): String = macro ??? + def f(args: Any*): String = ??? // macro } object StringContext { diff --git a/src/library/scala/reflect/base/Base.scala b/src/library/scala/reflect/base/Base.scala index 385dc6275f..b887b87732 100644 --- a/src/library/scala/reflect/base/Base.scala +++ b/src/library/scala/reflect/base/Base.scala @@ -1,7 +1,6 @@ package scala.reflect package base -import language.experimental.macros import java.io.PrintWriter import scala.annotation.switch import scala.ref.WeakReference diff --git a/src/library/scala/reflect/makro/internal/package.scala b/src/library/scala/reflect/makro/internal/package.scala index 78cb0ffb10..f08448297c 100644 --- a/src/library/scala/reflect/makro/internal/package.scala +++ b/src/library/scala/reflect/makro/internal/package.scala @@ -1,7 +1,6 @@ package scala.reflect package makro -import language.experimental.macros import scala.reflect.base.{Universe => BaseUniverse} // anchors for materialization macros emitted during tag materialization in Implicits.scala @@ -10,7 +9,7 @@ import scala.reflect.base.{Universe => BaseUniverse} // todo. once we have implicit macros for tag generation, we can remove these anchors // [Eugene++] how do I hide this from scaladoc? package object internal { - private[scala] def materializeClassTag[T](u: BaseUniverse): ClassTag[T] = macro ??? - private[scala] def materializeAbsTypeTag[T](u: BaseUniverse): u.AbsTypeTag[T] = macro ??? - private[scala] def materializeTypeTag[T](u: BaseUniverse): u.TypeTag[T] = macro ??? + private[scala] def materializeClassTag[T](u: BaseUniverse): ClassTag[T] = ??? // macro + private[scala] def materializeAbsTypeTag[T](u: BaseUniverse): u.AbsTypeTag[T] = ??? // macro + private[scala] def materializeTypeTag[T](u: BaseUniverse): u.TypeTag[T] = ??? // macro } diff --git a/src/reflect/scala/reflect/api/Universe.scala b/src/reflect/scala/reflect/api/Universe.scala index 85d8adc44f..da05b5ba46 100644 --- a/src/reflect/scala/reflect/api/Universe.scala +++ b/src/reflect/scala/reflect/api/Universe.scala @@ -1,8 +1,6 @@ package scala.reflect package api -import language.experimental.macros - abstract class Universe extends base.Universe with Symbols with Types @@ -64,5 +62,5 @@ abstract class Universe extends base.Universe * special measures are taken to ensure that all members accessed in the reifee remain visible */ // implementation is magically hardwired to `scala.reflect.reify.Taggers` - def reify[T](expr: T): Expr[T] = macro ??? + def reify[T](expr: T): Expr[T] = ??? // macro }
\ No newline at end of file diff --git a/src/reflect/scala/reflect/makro/Context.scala b/src/reflect/scala/reflect/makro/Context.scala index f093016a38..f3b1271a57 100644 --- a/src/reflect/scala/reflect/makro/Context.scala +++ b/src/reflect/scala/reflect/makro/Context.scala @@ -1,8 +1,6 @@ package scala.reflect package makro -import language.experimental.macros - // todo. introduce context hierarchy // the most lightweight context should just expose the stuff from the SIP // the full context should include all traits from scala.reflect.makro (and probably reside in scala-compiler.jar) diff --git a/src/reflect/scala/reflect/runtime/package.scala b/src/reflect/scala/reflect/runtime/package.scala index a5809a2629..2d48b9a5bf 100644 --- a/src/reflect/scala/reflect/runtime/package.scala +++ b/src/reflect/scala/reflect/runtime/package.scala @@ -1,7 +1,5 @@ package scala.reflect -import language.experimental.macros - package object runtime { // type is api.JavaUniverse because we only want to expose the `scala.reflect.api.*` subset of reflection @@ -9,7 +7,8 @@ package object runtime { // [Eugene++ to Martin] removed `mirrorOfLoader`, because one can use `universe.runtimeMirror` instead - def currentMirror: universe.Mirror = macro Macros.currentMirror + // implementation magically hardwired to the `currentMirror` method below + def currentMirror: universe.Mirror = ??? // macro } package runtime { |