diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-02-21 21:48:16 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-21 21:56:09 +0100 |
commit | 31b52ed651e58a68d478aabe41c62287b6d4d718 (patch) | |
tree | 15d3d74c2a7b1b76de62f9e5b8abd4225718551c /test | |
parent | 42031708b25f7252fab9992fe444651f8c141e40 (diff) | |
download | scala-31b52ed651e58a68d478aabe41c62287b6d4d718.tar.gz scala-31b52ed651e58a68d478aabe41c62287b6d4d718.tar.bz2 scala-31b52ed651e58a68d478aabe41c62287b6d4d718.zip |
bundles now reject invalid context types
Vanilla macros only allow blackbox.Context, whitebox.Context and
PrefixType refinements thereof. Bundles should behave in the same way.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/macro-bundle-wrongcontext-a.check | 4 | ||||
-rw-r--r-- | test/files/neg/macro-bundle-wrongcontext-a.scala | 13 | ||||
-rw-r--r-- | test/files/neg/macro-bundle-wrongcontext-b.check | 4 | ||||
-rw-r--r-- | test/files/neg/macro-bundle-wrongcontext-b.scala | 11 |
4 files changed, 32 insertions, 0 deletions
diff --git a/test/files/neg/macro-bundle-wrongcontext-a.check b/test/files/neg/macro-bundle-wrongcontext-a.check new file mode 100644 index 0000000000..7a48dbfd3a --- /dev/null +++ b/test/files/neg/macro-bundle-wrongcontext-a.check @@ -0,0 +1,4 @@ +macro-bundle-wrongcontext-a.scala:12: error: not found: value Bundle + def foo: Any = macro Bundle.impl + ^ +one error found diff --git a/test/files/neg/macro-bundle-wrongcontext-a.scala b/test/files/neg/macro-bundle-wrongcontext-a.scala new file mode 100644 index 0000000000..ed566fd977 --- /dev/null +++ b/test/files/neg/macro-bundle-wrongcontext-a.scala @@ -0,0 +1,13 @@ +import scala.reflect.macros.whitebox._ +import scala.language.experimental.macros + +abstract class MyContext extends Context + +class Bundle(val c: MyContext) { + import c.universe._ + def impl = q"()" +} + +object Macros { + def foo: Any = macro Bundle.impl +}
\ No newline at end of file diff --git a/test/files/neg/macro-bundle-wrongcontext-b.check b/test/files/neg/macro-bundle-wrongcontext-b.check new file mode 100644 index 0000000000..9c94c3bc34 --- /dev/null +++ b/test/files/neg/macro-bundle-wrongcontext-b.check @@ -0,0 +1,4 @@ +macro-bundle-wrongcontext-b.scala:10: error: not found: value Bundle + def foo: Any = macro Bundle.impl + ^ +one error found diff --git a/test/files/neg/macro-bundle-wrongcontext-b.scala b/test/files/neg/macro-bundle-wrongcontext-b.scala new file mode 100644 index 0000000000..0b4ff7e17c --- /dev/null +++ b/test/files/neg/macro-bundle-wrongcontext-b.scala @@ -0,0 +1,11 @@ +import scala.reflect.macros.whitebox._ +import scala.language.experimental.macros + +class Bundle(val c: Context { type Foo <: Int }) { + import c.universe._ + def impl = q"()" +} + +object Macros { + def foo: Any = macro Bundle.impl +}
\ No newline at end of file |