trait BCAnnotGen extends BCInnerClassGen

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BCAnnotGen
  2. BCInnerClassGen
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. final def arrEncode(sb: Global.ScalaSigBytes): Array[String]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. def debugLevel: Int
    Definition Classes
    BCInnerClassGen
  8. def descriptorForErasedType(tp: Global.Type): String
  9. def emitAnnotations(fw: FieldVisitor, annotations: List[Global.AnnotationInfo]): Unit
  10. def emitAnnotations(mw: MethodVisitor, annotations: List[Global.AnnotationInfo]): Unit
  11. def emitAnnotations(cw: ClassVisitor, annotations: List[Global.AnnotationInfo]): Unit
  12. def emitArgument(av: AnnotationVisitor, name: String, arg: Global.ClassfileAnnotArg): Unit
  13. def emitAssocs(av: AnnotationVisitor, assocs: List[(Global.Name, Global.ClassfileAnnotArg)]): Unit
  14. final val emitLines: Boolean
    Definition Classes
    BCInnerClassGen
  15. def emitParamAnnotations(jmethod: MethodVisitor, pannotss: List[List[Global.AnnotationInfo]]): Unit
  16. def emitParamNames(jmethod: MethodVisitor, params: List[Global.Symbol]): Unit
  17. final val emitSource: Boolean
    Definition Classes
    BCInnerClassGen
  18. final val emitVars: Boolean
    Definition Classes
    BCInnerClassGen
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  21. def erasedType(tp: Global.Type): Global.Type

    Annotations are not processed by the compilation pipeline like ordinary trees.

    Annotations are not processed by the compilation pipeline like ordinary trees. Instead, the typer extracts them into AnnotationInfo objects which are attached to the corresponding symbol (sym.annotations) or type (as an AnnotatedType, eliminated by erasure).

    For Scala annotations this is OK: they are stored in the pickle and ignored by the backend. Java annotations on the other hand are additionally emitted to the classfile in Java's format.

    This means that Type instances within an AnnotationInfo reach the backend non-erased. Examples:

    • @(javax.annotation.Resource @annotation.meta.getter) val x = 0 Here, annotationInfo.atp is an AnnotatedType.
    • @SomeAnnotation[T] val x = 0 In principle, the annotationInfo.atp is a non-erased type ref. However, this cannot actually happen because Java annotations cannot be generic.
    • @javax.annotation.Resource(type = classOf[List[_]]) val x = 0 The annotationInfo.assocs contains a LiteralAnnotArg(Constant(tp)) where tp is the non-erased existential type.
  22. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. final def internalName(sym: Global.Symbol): String

    The class internal name for a given class symbol.

    The class internal name for a given class symbol.

    Definition Classes
    BCInnerClassGen
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  30. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. def ubytesToCharArray(bytes: Array[Byte]): Array[Char]
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from BCInnerClassGen

Inherited from AnyRef

Inherited from Any

Ungrouped