abstract class AnnotationInfo extends SymbolTable.AnnotationApi

Typed information about an annotation. It can be attached to either a symbol or an annotated type.

Annotations are written to the classfile as Java annotations if atp conforms to ClassfileAnnotation (the classfile parser adds this interface to any Java annotation class).

Annotations are pickled (written to scala symtab attribute in the classfile) if atp inherits form StaticAnnotation.

args stores arguments to Scala annotations, represented as typed trees. Note that these trees are not transformed by any phases following the type-checker.

assocs stores arguments to classfile annotations as name-value pairs.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AnnotationInfo
  2. AnnotationApi
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AnnotationInfo()

Abstract Value Members

  1. abstract def args: List[SymbolTable.Tree]
  2. abstract def assocs: List[(SymbolTable.Name, SymbolTable.ClassfileAnnotArg)]
  3. abstract def atp: SymbolTable.Type
  4. abstract def original: SymbolTable.Tree
  5. abstract def setOriginal(t: SymbolTable.Tree): AnnotationInfo.this.type

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def argAtIndex(index: Int): Option[SymbolTable.Tree]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def booleanArg(index: Int): Option[Boolean]
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  8. def completeInfo(): Unit
  9. def constantAtIndex(index: Int): Option[SymbolTable.Constant]
  10. def defaultTargets: collection.immutable.List[SymbolTable.Symbol]

    The default kind of members to which this annotation is attached.

    The default kind of members to which this annotation is attached. For instance, for scala.deprecated defaultTargets = List(getter, setter, beanGetter, beanSetter).

    NOTE: have to call symbol.initialize, since we won't get any annotations if the symbol hasn't yet been completed

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(other: Any): Boolean
    Definition Classes
    AnnotationInfo → AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hasArgWhich(p: (SymbolTable.Tree) ⇒ Boolean): Boolean
  16. def hashCode(): Int
    Definition Classes
    AnnotationInfo → AnyRef → Any
  17. def intArg(index: Int): Option[Int]
  18. def isErroneous: Boolean

    Check whether the type or any of the arguments are erroneous

  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def isStatic: Boolean
  21. lazy val isTrivial: Boolean
  22. def javaArgs: ListMap[SymbolTable.Name, SymbolTable.ClassfileAnnotArg]

    Payload of the Java annotation: a list of name-value pairs.

    Payload of the Java annotation: a list of name-value pairs. Empty for Scala annotations.

    Definition Classes
    AnnotationInfoAnnotationApi
  23. def matches(clazz: SymbolTable.Symbol): Boolean
  24. def metaAnnotations: List[SymbolTable.AnnotationInfo]

    These are meta-annotations attached at the use site; they only apply to this annotation usage.

    These are meta-annotations attached at the use site; they only apply to this annotation usage. For instance, in @(deprecated @setter @field) val ... metaAnnotations = List(setter, field).

  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. def pos: SymbolTable.Position
  29. def refsSymbol(sym: SymbolTable.Symbol): Boolean

    Check whether any of the arguments mention a symbol

  30. def scalaArgs: List[SymbolTable.Tree]

    Payload of the Scala annotation: a list of abstract syntax trees that represent the argument.

    Payload of the Scala annotation: a list of abstract syntax trees that represent the argument. Empty for Java annotations.

    Definition Classes
    AnnotationInfoAnnotationApi
  31. def setPos(pos: SymbolTable.Position): AnnotationInfo.this.type
  32. def stringArg(index: Int): Option[String]
  33. def symbol: SymbolTable.Symbol

    Annotations annotating annotations are confusing so I drew an example.

    Annotations annotating annotations are confusing so I drew an example. Given the following code:

    class A {

  34. def symbolArg(index: Int): Option[SymbolTable.TermName]
  35. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  36. def toString(): String
    Definition Classes
    AnyRef → Any
  37. def tpe: SymbolTable.Type

    The type of the annotation.

    The type of the annotation.

    Definition Classes
    AnnotationInfoAnnotationApi
  38. def transformArgs(f: (List[SymbolTable.Tree]) ⇒ List[SymbolTable.Tree]): SymbolTable.AnnotationInfo
  39. def tree: SymbolTable.Tree

    The tree underlying the annotation.

    The tree underlying the annotation.

    Definition Classes
    AnnotationApi
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from SymbolTable.AnnotationApi

Inherited from AnyRef

Inherited from Any

Ungrouped