diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-01-31 23:29:35 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-14 23:51:24 +0100 |
commit | 73adf2d9de441e151a117a5b33ae707ad79a9f36 (patch) | |
tree | a89a66cdbe161ef473a4ea16d5a6de17b50d81e2 /src/reflect | |
parent | 63462f3d5f032639e80571176c91c34b91e65441 (diff) | |
download | scala-73adf2d9de441e151a117a5b33ae707ad79a9f36.tar.gz scala-73adf2d9de441e151a117a5b33ae707ad79a9f36.tar.bz2 scala-73adf2d9de441e151a117a5b33ae707ad79a9f36.zip |
introduces c.internal
Sometimes universe.internal just won’t cut it (for example, when internal
APIs need access to enclosingOwner or to the typechecker), and for that
we need c.internal.
It’s totally not a problem for us in Scala, because with first-class modules
we can just inherit c.internal from c.universe.internal and have it expose
all the basic APIs automatically. Yay for Scala!
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/macros/Internals.scala | 18 | ||||
-rw-r--r-- | src/reflect/scala/reflect/macros/blackbox/Context.scala | 3 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/macros/Internals.scala b/src/reflect/scala/reflect/macros/Internals.scala new file mode 100644 index 0000000000..f74f120470 --- /dev/null +++ b/src/reflect/scala/reflect/macros/Internals.scala @@ -0,0 +1,18 @@ +package scala +package reflect +package macros + +/** + * <span class="badge badge-red" style="float: right;">EXPERIMENTAL</span> + * @see [[scala.reflect.api.Internals]] + */ +trait Internals { + self: blackbox.Context => + + /** @see [[scala.reflect.api.Internals]] */ + val internal: ContextInternalApi + + /** @see [[scala.reflect.api.Internals]] */ + trait ContextInternalApi extends universe.MacroInternalApi { + } +} diff --git a/src/reflect/scala/reflect/macros/blackbox/Context.scala b/src/reflect/scala/reflect/macros/blackbox/Context.scala index 05d9595c3a..2f9c512efa 100644 --- a/src/reflect/scala/reflect/macros/blackbox/Context.scala +++ b/src/reflect/scala/reflect/macros/blackbox/Context.scala @@ -42,7 +42,8 @@ trait Context extends Aliases with Typers with Parsers with Evals - with ExprUtils { + with ExprUtils + with Internals { /** The compile-time universe. */ val universe: Universe |