blob: 0d9c0c471362c202652816a3c33fb5145ccc23f0 (
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
|
package scala.lang.annotations
import org.junit.Assert._
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import scala.tools.testing.RunTesting
@RunWith(classOf[JUnit4])
class RunTest extends RunTesting {
import runner._
@Test
def annotationInfoNotErased(): Unit = {
val code =
"""import javax.annotation.Resource
|import scala.annotation.meta.getter
|class C {
| type Rg = Resource @getter
| @(Resource @getter)(`type` = classOf[Int]) def a = 0
| @Rg(`type` = classOf[Int]) def b = 0
|}
|val c = classOf[C]
|def typeArg(meth: String) = c.getDeclaredMethod(meth).getDeclaredAnnotation(classOf[Resource]).`type`
|List("a", "b") map typeArg
|""".stripMargin
val i = Integer.TYPE
assertEquals(run[List[Class[_]]](code), List(i, i))
}
}
|