t

scala.reflect.internal

BaseTypeSeqs

trait BaseTypeSeqs extends AnyRef

A base type sequence (BaseTypeSeq) is an ordered sequence spanning all the base types of a type. It characterized by the following two laws:

(1) Each element of tp.baseTypeSeq is a basetype of tp (2) For each basetype bt1 of tp there is an element bt in tp.baseTypeSeq such that

bt.typeSymbol = bt1.typeSymbol bt <: bt1

(3) The type symbols of different elements are different.

Elements in the sequence are ordered by Symbol.isLess.

Self Type
SymbolTable
Note

base type sequences were called closures up to 2.7.1. The name has been changed to avoid confusion with function closures.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BaseTypeSeqs
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class BaseTypeSeq extends AnyRef

    Note: constructor is protected to force everyone to use the factory method newBaseTypeSeq instead.

    Note: constructor is protected to force everyone to use the factory method newBaseTypeSeq instead. This is necessary because when run from reflection every base type sequence needs to have a SynchronizedBaseTypeSeq as mixin.

  2. class MappedBaseTypeSeq extends SymbolTable.BaseTypeSeq

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. val CyclicInheritance: java.lang.Throwable
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def baseTypeSingletonSeq(tp: SymbolTable.Type): SymbolTable.BaseTypeSeq

    Create a base type sequence consisting of a single type

  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. def compoundBaseTypeSeq(tp: SymbolTable.Type): SymbolTable.BaseTypeSeq

    Create the base type sequence of a compound type with given tp.parents

  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def newBaseTypeSeq(parents: List[SymbolTable.Type], elems: Array[SymbolTable.Type]): SymbolTable.BaseTypeSeq
    Attributes
    protected
  17. def newMappedBaseTypeSeq(orig: SymbolTable.BaseTypeSeq, f: (SymbolTable.Type) ⇒ SymbolTable.Type): SymbolTable.MappedBaseTypeSeq
    Attributes
    protected
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. lazy val undetBaseTypeSeq: SymbolTable.BaseTypeSeq

    A marker object for a base type sequence that's no yet computed.

    A marker object for a base type sequence that's no yet computed. used to catch inheritance cycles

  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped