scala.tools.nsc.backend.jvm.BCodeTypes

Tracked

case class Tracked(c: (BCodeTypes.bTypes)#ClassBType, flags: Int, sc: Tracked, ifaces: Array[Tracked], innersChain: Array[InnerClassEntry]) extends Product with Serializable

A Tracked instance stores information about a BType. This allows ansering type questions without resolving to the compiler, in a thread-safe manner, in particular isSubtypeOf.

c

the BType described by this Tracked

flags

the java flags for the type, computed by BCodeTypes#javaFlags

sc

the bytecode-level superclass if any, null otherwise

ifaces

the interfaces explicitly declared. Not included are those transitively supported, but the utility method allLeafIfaces() can be used for that.

innersChain

the containing classes for a non-package-level class c, null otherwise.

Note: the optimizer may inline anonymous closures, thus eliding those inner classes (no physical class file is emitted for elided classes). Before committing innersChain to bytecode, cross-check with the list of elided classes (SI-6546).

All methods of this class can-multi-thread

TODO @lry c: ClassBType. rename to ClassBTypeInfo

Source
BCodeTypes.scala
Linear Supertypes
Serializable, java.io.Serializable, Product, Equals, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Tracked
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Tracked(c: (BCodeTypes.bTypes)#ClassBType, flags: Int, sc: Tracked, ifaces: Array[Tracked], innersChain: Array[InnerClassEntry])

    c

    the BType described by this Tracked

    flags

    the java flags for the type, computed by BCodeTypes#javaFlags

    sc

    the bytecode-level superclass if any, null otherwise

    ifaces

    the interfaces explicitly declared. Not included are those transitively supported, but the utility method allLeafIfaces() can be used for that.

    innersChain

    the containing classes for a non-package-level class c, null otherwise.

    Note: the optimizer may inline anonymous closures, thus eliding those inner classes (no physical class file is emitted for elided classes). Before committing innersChain to bytecode, cross-check with the list of elided classes (SI-6546).

    All methods of this class can-multi-thread

    TODO @lry c: ClassBType. rename to ClassBTypeInfo

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from Tracked to any2stringadd[Tracked] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Tracked, B)

    Implicit information
    This member is added by an implicit conversion from Tracked to ArrowAssoc[Tracked] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  6. def allLeafIfaces: Set[Tracked]

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. val c: (BCodeTypes.bTypes)#ClassBType

    the BType described by this Tracked

  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def directMemberClasses: List[(BCodeTypes.bTypes)#BType]

  11. def directMemberClasses_=(bs: List[(BCodeTypes.bTypes)#BType]): Unit

  12. def ensuring(cond: (Tracked) ⇒ Boolean, msg: ⇒ Any): Tracked

    Implicit information
    This member is added by an implicit conversion from Tracked to Ensuring[Tracked] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: (Tracked) ⇒ Boolean): Tracked

    Implicit information
    This member is added by an implicit conversion from Tracked to Ensuring[Tracked] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean, msg: ⇒ Any): Tracked

    Implicit information
    This member is added by an implicit conversion from Tracked to Ensuring[Tracked] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean): Tracked

    Implicit information
    This member is added by an implicit conversion from Tracked to Ensuring[Tracked] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. val flags: Int

    the java flags for the type, computed by BCodeTypes#javaFlags

  19. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from Tracked to StringFormat[Tracked] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  20. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  21. def hasFlags(mask: Int): Boolean

  22. val ifaces: Array[Tracked]

    the interfaces explicitly declared.

    the interfaces explicitly declared. Not included are those transitively supported, but the utility method allLeafIfaces() can be used for that.

  23. val innersChain: Array[InnerClassEntry]

    the containing classes for a non-package-level class c, null otherwise.

    the containing classes for a non-package-level class c, null otherwise.

    Note: the optimizer may inline anonymous closures, thus eliding those inner classes (no physical class file is emitted for elided classes). Before committing innersChain to bytecode, cross-check with the list of elided classes (SI-6546).

    All methods of this class can-multi-thread

    TODO @lry c: ClassBType. rename to ClassBTypeInfo

  24. def isFinal: Boolean

  25. def isInnerClass: Boolean

  26. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  27. def isInterface: Boolean

  28. def isLambda: Boolean

  29. def isSubtypeOf(other: (BCodeTypes.bTypes)#BType): Boolean

  30. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  33. val sc: Tracked

    the bytecode-level superclass if any, null otherwise

  34. def superClasses: List[Tracked]

  35. def supportedBranches(ib: Tracked): Set[Tracked]

  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  37. def toString(): String

    Definition Classes
    Tracked → AnyRef → Any
  38. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. def [B](y: B): (Tracked, B)

    Implicit information
    This member is added by an implicit conversion from Tracked to ArrowAssoc[Tracked] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Serializable

Inherited from java.io.Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Tracked to any2stringadd[Tracked]

Inherited by implicit conversion StringFormat from Tracked to StringFormat[Tracked]

Inherited by implicit conversion Ensuring from Tracked to Ensuring[Tracked]

Inherited by implicit conversion ArrowAssoc from Tracked to ArrowAssoc[Tracked]

Ungrouped