blob: 43d36dfab1499bc499fd8a7240ab04358fc64d8a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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)
}
|