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/compiler/scala/reflect/macros | |
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/compiler/scala/reflect/macros')
-rw-r--r-- | src/compiler/scala/reflect/macros/contexts/Context.scala | 3 | ||||
-rw-r--r-- | src/compiler/scala/reflect/macros/contexts/Internals.scala | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/macros/contexts/Context.scala b/src/compiler/scala/reflect/macros/contexts/Context.scala index 87dac18849..f3dd29d8b2 100644 --- a/src/compiler/scala/reflect/macros/contexts/Context.scala +++ b/src/compiler/scala/reflect/macros/contexts/Context.scala @@ -15,7 +15,8 @@ abstract class Context extends scala.reflect.macros.blackbox.Context with Parsers with Evals with ExprUtils - with Traces { + with Traces + with Internals { val universe: Global diff --git a/src/compiler/scala/reflect/macros/contexts/Internals.scala b/src/compiler/scala/reflect/macros/contexts/Internals.scala new file mode 100644 index 0000000000..e0f7824cf3 --- /dev/null +++ b/src/compiler/scala/reflect/macros/contexts/Internals.scala @@ -0,0 +1,9 @@ +package scala.reflect.macros +package contexts + +trait Internals { + self: Context => + + lazy val internal: ContextInternalApi = new global.SymbolTableInternal with ContextInternalApi { + } +}
\ No newline at end of file |