blob: 96a65606e53f8f2715f0665c9ec91631fd917bab (
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
|
package scala.reflect
package api
trait AnnotationInfos { self: Universe =>
type AnnotationInfo <: AnyRef
val AnnotationInfo: AnnotationInfoExtractor
abstract class AnnotationInfoExtractor {
def apply(atp: Type, args: List[Tree], assocs: List[(Name, ClassfileAnnotArg)]): AnnotationInfo
def unapply(info: AnnotationInfo): Option[(Type, List[Tree], List[(Name, ClassfileAnnotArg)])]
}
type ClassfileAnnotArg <: AnyRef
implicit def classfileAnnotArgManifest: ClassManifest[ClassfileAnnotArg] // need a precise manifest to pass to UnPickle's toArray call
type LiteralAnnotArg <: ClassfileAnnotArg
val LiteralAnnotArg: LiteralAnnotArgExtractor
type ArrayAnnotArg <: ClassfileAnnotArg
val ArrayAnnotArg: ArrayAnnotArgExtractor
type NestedAnnotArg <: ClassfileAnnotArg
val NestedAnnotArg: NestedAnnotArgExtractor
abstract class LiteralAnnotArgExtractor {
def apply(const: Constant): LiteralAnnotArg
def unapply(arg: LiteralAnnotArg): Option[Constant]
}
abstract class ArrayAnnotArgExtractor {
def apply(const: Array[ClassfileAnnotArg]): ArrayAnnotArg
def unapply(arg: ArrayAnnotArg): Option[Array[ClassfileAnnotArg]]
}
abstract class NestedAnnotArgExtractor {
def apply(anninfo: AnnotationInfo): NestedAnnotArg
def unapply(arg: NestedAnnotArg): Option[AnnotationInfo]
}
}
|