diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-07-17 12:36:11 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-07-20 10:04:58 +0200 |
commit | 30f5a36941aa1671849322ba79ebff0881ae7ff0 (patch) | |
tree | e76028cbb9d52b9ade6067b2d3aa82c8326fb009 /test/files/neg | |
parent | a8bd1e25b9fe32a8eff2f51ee3bfa527440beb84 (diff) | |
download | scala-30f5a36941aa1671849322ba79ebff0881ae7ff0.tar.gz scala-30f5a36941aa1671849322ba79ebff0881ae7ff0.tar.bz2 scala-30f5a36941aa1671849322ba79ebff0881ae7ff0.zip |
SI-5999 removes Context.reify
Currently there are discrepancies between the behavior of
c.reify and c.universe.reify.
First step in fixing these problems is removing the duplication in the API.
That's why I'm cutting away the Context.reify shortcut.
Context.reify is a magic macro, hardwired in the fast track mechanism, so
removing it requires redeploying the starr (because an old starr will
crash if launched on sources that don't contain Context.reify).
To cleanly redeploy a starr I've left a Context.reify stub in sources,
but hidden it behind a `protected` modifier. When starr is redeployed
(in a subsequent commit) the stub will be removed.
I've also updated the tests to use c.universe.reify instead of c.reify.
This will break some of them, because c.universe.reify uses a standard
compiler mirror, which unlike a macro mirror doesn't like packageless classes.
That's an annoyance, but I think having clean separation of commits
is more important that being 100% consistent.
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/macro-cyclic.check | 8 | ||||
-rw-r--r-- | test/files/neg/macro-cyclic/Impls_Macros_1.scala | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/test/files/neg/macro-cyclic.check b/test/files/neg/macro-cyclic.check index 608381e0e8..7978ec64a5 100644 --- a/test/files/neg/macro-cyclic.check +++ b/test/files/neg/macro-cyclic.check @@ -1,4 +1,4 @@ -Impls_Macros_1.scala:5: error: could not find implicit value for parameter e: SourceLocation
- c.reify { implicitly[SourceLocation] }
- ^
-one error found
+Impls_Macros_1.scala:5: error: could not find implicit value for parameter e: SourceLocation + c.universe.reify { implicitly[SourceLocation] } + ^ +one error found diff --git a/test/files/neg/macro-cyclic/Impls_Macros_1.scala b/test/files/neg/macro-cyclic/Impls_Macros_1.scala index 1ea06fc968..2ecdc3416e 100644 --- a/test/files/neg/macro-cyclic/Impls_Macros_1.scala +++ b/test/files/neg/macro-cyclic/Impls_Macros_1.scala @@ -2,7 +2,7 @@ import scala.reflect.makro.Context object Macros { def impl(c: Context) = { - c.reify { implicitly[SourceLocation] } + c.universe.reify { implicitly[SourceLocation] } } implicit def sourceLocation: SourceLocation1 = macro impl |