summaryrefslogtreecommitdiff
path: root/test/files/neg/compile-time-only-a.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-08-21 18:11:07 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-08-21 18:11:07 -0700
commitf315253ff7c5f4074f61a079308db45452be75db (patch)
tree65a77a76f335465a96fe71decb3d2b91f75c8b2c /test/files/neg/compile-time-only-a.scala
parenta1aaab2673016d65c1919c37fe24417f2cb0cb91 (diff)
parent46f17f114bf261dc8757b5b876da50d53bb31172 (diff)
downloadscala-f315253ff7c5f4074f61a079308db45452be75db.tar.gz
scala-f315253ff7c5f4074f61a079308db45452be75db.tar.bz2
scala-f315253ff7c5f4074f61a079308db45452be75db.zip
Merge pull request #2810 from xeno-by/topic/compile-time-only
@compileTimeOnly: moved to scala-library.jar, got some fixes
Diffstat (limited to 'test/files/neg/compile-time-only-a.scala')
-rw-r--r--test/files/neg/compile-time-only-a.scala57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/files/neg/compile-time-only-a.scala b/test/files/neg/compile-time-only-a.scala
new file mode 100644
index 0000000000..43d36dfab1
--- /dev/null
+++ b/test/files/neg/compile-time-only-a.scala
@@ -0,0 +1,57 @@
+import scala.annotation.compileTimeOnly
+
+@compileTimeOnly("C1") class C1
+object C1
+
+class C2
+@compileTimeOnly("C2") object C2
+
+@compileTimeOnly("C3") case class C3(x: Int)
+
+@compileTimeOnly("C4") case class C4(x: Int)
+object C4
+
+object pkg {
+ @compileTimeOnly("C5")
+ implicit class C5(val x: Int) {
+ def ext = ???
+ }
+}
+
+class C6(@compileTimeOnly("C6.x") val x: Int) {
+ @compileTimeOnly("C6.foo") def foo = 2
+ @compileTimeOnly("C6.Foo") type Foo = Int
+ @compileTimeOnly("C6.y") var y = 3
+}
+
+object Test extends App {
+ new C1()
+ C1
+
+ new C2()
+ C2
+
+ new C3(2)
+ C3(2)
+
+ new C4(2)
+ C4(2)
+
+ import pkg._
+ 2.ext
+ C5(2)
+
+ val c6 = new C6(2)
+ val _ = c6.x
+ c6.foo
+ type Foo = c6.Foo
+ c6.y = c6.y
+}
+
+@compileTimeOnly("placebo")
+class placebo extends scala.annotation.StaticAnnotation
+
+@placebo
+class Test {
+ @placebo def x = (2: @placebo)
+} \ No newline at end of file