scala.reflect.internal

Types

trait Types extends api.Types

Self Type
SymbolTable
Source
Types.scala
Linear Supertypes
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Types
  2. Types
  3. Types
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait AbstractTypeRef extends SymbolTable.TypeRef with SymbolTable.NonClassTypeRef

  2. trait AliasTypeRef extends SymbolTable.TypeRef with SymbolTable.NonClassTypeRef

  3. case class AnnotatedType(annotations: List[SymbolTable.AnnotationInfo], underlying: SymbolTable.Type, selfsym: SymbolTable.Symbol) extends SymbolTable.Type with SymbolTable.RewrappingTypeProxy with SymbolTable.AnnotatedTypeApi with Product with Serializable

    A type carrying some annotations.

  4. trait AnnotatedTypeApi extends Universe.TypeApi

    The API that all annotated types support

  5. abstract class AnnotatedTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax AnnotatedType(annotations, underlying, selfsym).

  6. trait AnnotationFilter extends SymbolTable.TypeMap

  7. case class AntiPolyType(pre: SymbolTable.Type, targs: List[SymbolTable.Type]) extends SymbolTable.Type with Product with Serializable

    A class remembering a type instantiation for some a set of overloaded polymorphic symbols.

  8. class AppliedTypeVar extends SymbolTable.TypeVar

    Precondition: zipped params/args nonEmpty.

  9. class ArgsTypeRef extends SymbolTable.TypeRef with SymbolTable.UniqueType

  10. class AsSeenFromMap extends SymbolTable.TypeMap with SymbolTable.KeepOnlyTypeConstraints

    A map to compute the asSeenFrom method

  11. case class BoundedWildcardType(bounds: SymbolTable.TypeBounds) extends SymbolTable.Type with SymbolTable.BoundedWildcardTypeApi with Product with Serializable

    BoundedWildcardTypes, used only during type inference, are created in two places that I can find:

  12. trait BoundedWildcardTypeApi extends Universe.TypeApi

    The API that all this types support

  13. abstract class BoundedWildcardTypeExtractor extends AnyRef

    Definition Classes
    Types
  14. case class ClassInfoType(parents: List[SymbolTable.Type], decls: SymbolTable.Scope, typeSymbol: SymbolTable.Symbol) extends SymbolTable.CompoundType with SymbolTable.ClassInfoTypeApi with Product with Serializable

    A class representing a class info

  15. trait ClassInfoTypeApi extends Universe.TypeApi

    The API that all class info types support

  16. abstract class ClassInfoTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ClassInfo(parents, decls, clazz) Here, parents is the list of parent types of the class, decls is the scope containing all declarations in the class, and clazz is the symbol of the class itself.

  17. trait ClassTypeRef extends SymbolTable.TypeRef

  18. class ClassUnwrapper extends SymbolTable.TypeUnwrapper

  19. class CollectTypeCollector[T] extends SymbolTable.TypeCollector[List[T]]

    A map to implement the collect method.

  20. class CommonOwnerMap extends SymbolTable.TypeTraverserWithResult[SymbolTable.Symbol]

    Attributes
    protected
  21. abstract class CompoundType extends SymbolTable.Type

    A common base class for intersection types and class types

  22. abstract case class ConstantType(value: SymbolTable.Constant) extends SymbolTable.SingletonType with SymbolTable.ConstantTypeApi with Product with Serializable

    A class representing a constant type.

  23. trait ConstantTypeApi extends Universe.TypeApi

    The API that all constant types support

  24. abstract class ConstantTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ConstantType(constant) Here, constant is the constant value represented by the type.

  25. class ContainsCollector extends SymbolTable.TypeCollector[Boolean]

    A map to implement the contains method.

  26. class ContainsTypeCollector extends SymbolTable.TypeCollector[Boolean]

    A map to implement the contains method.

  27. case class DeBruijnBinder(pnames: List[SymbolTable.Name], ptypes: List[SymbolTable.Type], restpe: SymbolTable.Type) extends SymbolTable.Type with Product with Serializable

    A binder defining data associated with De Bruijn indices.

  28. case class DeBruijnIndex(level: Int, idx: Int, args: List[SymbolTable.Type]) extends SymbolTable.Type with Product with Serializable

    A De Bruijn index referring to a previous type argument.

  29. abstract case class ErasedValueType(original: SymbolTable.TypeRef) extends SymbolTable.Type with Product with Serializable

    A temporary type representing the reasure of a user-defined value type.

  30. class ExistentialExtrapolation extends SymbolTable.TypeMap with SymbolTable.VariantTypeMap

    Used by existentialAbstraction.

  31. case class ExistentialType(quantified: List[SymbolTable.Symbol], underlying: SymbolTable.Type) extends SymbolTable.Type with SymbolTable.RewrappingTypeProxy with SymbolTable.ExistentialTypeApi with Product with Serializable

    .

  32. trait ExistentialTypeApi extends Universe.TypeApi

    The API that all existential types support

  33. abstract class ExistentialTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ExistentialType(quantified, underlying).

  34. class FilterTypeCollector extends SymbolTable.TypeCollector[List[SymbolTable.Type]]

    A map to implement the filter method.

  35. class FindTypeCollector extends SymbolTable.TypeCollector[Option[SymbolTable.Type]]

    A map to implement the filter method.

  36. class ForEachTypeTraverser extends SymbolTable.TypeTraverser

  37. class HKTypeVar extends SymbolTable.TypeVar

    Precondition: params.

  38. class InstantiateDependentMap extends SymbolTable.TypeMap with SymbolTable.KeepOnlyTypeConstraints

  39. class JavaMethodType extends SymbolTable.MethodType

  40. trait KeepOnlyTypeConstraints extends SymbolTable.TypeMap with SymbolTable.AnnotationFilter

  41. abstract class LazyPolyType extends SymbolTable.LazyType

  42. abstract class LazyType extends SymbolTable.Type

    A class representing an as-yet unevaluated type.

  43. class MalformedType extends SymbolTable.TypeError

    A throwable signalling a malformed type

  44. case class MethodType(params: List[SymbolTable.Symbol], resultType: SymbolTable.Type) extends SymbolTable.Type with SymbolTable.MethodTypeApi with Product with Serializable

    A class representing a method type with parameters.

  45. trait MethodTypeApi extends Universe.TypeApi

    The API that all method types support

  46. abstract class MethodTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax MethodType(params, respte) Here, params is a potentially empty list of parameter symbols of the method, and restpe is the result type of the method.

  47. class MissingAliasControl extends java.lang.Throwable with ControlThrowable

  48. class MissingTypeControl extends java.lang.Throwable with ControlThrowable

  49. class ModuleTypeRef extends SymbolTable.NoArgsTypeRef with SymbolTable.ClassTypeRef

  50. case class NamedType(name: SymbolTable.Name, tp: SymbolTable.Type) extends SymbolTable.Type with Product with Serializable

    A class representing types with a name.

  51. class NoArgsTypeRef extends SymbolTable.TypeRef with SymbolTable.UniqueType

  52. class NoCommonType extends java.lang.Throwable with ControlThrowable

  53. trait NonClassTypeRef extends SymbolTable.TypeRef

  54. case class NotNullType(underlying: SymbolTable.Type) extends SymbolTable.SubType with SymbolTable.RewrappingTypeProxy with Product with Serializable

  55. case class NullaryMethodType(resultType: SymbolTable.Type) extends SymbolTable.Type with SymbolTable.NullaryMethodTypeApi with Product with Serializable

    .

  56. trait NullaryMethodTypeApi extends Universe.TypeApi

    The API that all nullary method types support

  57. abstract class NullaryMethodTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax NullaryMethodType(resultType).

  58. case class OverloadedType(pre: SymbolTable.Type, alternatives: List[SymbolTable.Symbol]) extends SymbolTable.Type with Product with Serializable

    A class containing the alternatives and type prefix of an overloaded symbol.

  59. class PackageClassInfoType extends SymbolTable.ClassInfoType

  60. class PackageTypeRef extends SymbolTable.ModuleTypeRef

  61. case class PolyType(typeParams: List[SymbolTable.Symbol], resultType: SymbolTable.Type) extends SymbolTable.Type with SymbolTable.PolyTypeApi with Product with Serializable

    A type function or the type of a polymorphic value (and thus of kind *).

  62. trait PolyTypeApi extends Universe.TypeApi

    The API that all polymorphic types support

  63. abstract class PolyTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax PolyType(typeParams, resultType).

  64. case class RecoverableCyclicReference(sym: SymbolTable.Symbol) extends SymbolTable.TypeError with Product with Serializable

    An exception for cyclic references from which we can recover

  65. case class RefinedType(parents: List[SymbolTable.Type], decls: SymbolTable.Scope) extends SymbolTable.CompoundType with SymbolTable.RefinedTypeApi with Product with Serializable

    A class representing intersection types with refinements of the form <parents_0> with ... with <parents_n> { decls } Cannot be created directly; one should always use refinedType for creation.

  66. final class RefinedType0 extends SymbolTable.RefinedType

  67. trait RefinedTypeApi extends Universe.TypeApi

    The API that all refined types support

  68. abstract class RefinedTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax RefinedType(parents, decls) Here, parents is the list of parent types of the class, and decls is the scope containing all declarations in the class.

  69. class RefinementTypeRef extends SymbolTable.NoArgsTypeRef with SymbolTable.ClassTypeRef

  70. trait RewrappingTypeProxy extends SymbolTable.Type with SymbolTable.SimpleTypeProxy

    A proxy for a type (identified by field underlying) that forwards most operations to it.

  71. trait SimpleTypeProxy extends SymbolTable.Type

    A proxy for a type (identified by field underlying) that forwards most operations to it (for exceptions, see WrappingProxy, which forwards even more operations).

  72. abstract case class SingleType(pre: SymbolTable.Type, sym: SymbolTable.Symbol) extends SymbolTable.SingletonType with SymbolTable.SingleTypeApi with Product with Serializable

    A class for singleton types of the form <prefix>.<sym.name>.type.

  73. trait SingleTypeApi extends Universe.TypeApi

    The API that all single types support

  74. abstract class SingleTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax SingleType(pre, sym) Here, pre is the prefix of the single-type, and sym is the stable value symbol referred to by the single-type.

  75. abstract class SingletonType extends SymbolTable.SubType with SymbolTable.SimpleTypeProxy

    A base class for types that represent a single value (single-types and this-types).

  76. abstract class SubType extends SymbolTable.Type

    A base class for types that defer some operations to their immediate supertype.

  77. class SubTypePair extends AnyRef

  78. abstract class SubstMap[T] extends SymbolTable.TypeMap

    A base class to compute all substitutions

  79. class SubstSymMap extends SymbolTable.SubstMap[SymbolTable.Symbol]

    A map to implement the substSym method.

  80. class SubstThisMap extends SymbolTable.TypeMap

    A map to implement the substThis method.

  81. class SubstTypeMap extends SymbolTable.SubstMap[SymbolTable.Type]

    A map to implement the subst method.

  82. class SubstWildcardMap extends SymbolTable.TypeMap

  83. abstract case class SuperType(thistpe: SymbolTable.Type, supertpe: SymbolTable.Type) extends SymbolTable.SingletonType with SymbolTable.SuperTypeApi with Product with Serializable

    .

  84. trait SuperTypeApi extends Universe.TypeApi

    The API that all super types support

  85. abstract class SuperTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax SingleType(thistpe, supertpe)

  86. abstract case class ThisType(sym: SymbolTable.Symbol) extends SymbolTable.SingletonType with SymbolTable.ThisTypeApi with Product with Serializable

    A class for this-types of the form <sym>.

  87. trait ThisTypeApi extends Universe.TypeApi

    The API that all this types support

  88. abstract class ThisTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ThisType(sym) where sym is the class prefix of the this type.

  89. abstract class Type extends SymbolTable.TypeApiImpl with SymbolTable.Annotatable[SymbolTable.Type]

    The base class for all types

  90. abstract class TypeApi extends Universe.TypeBase

    The extended API of types

  91. abstract class TypeApiImpl extends SymbolTable.TypeApi

  92. abstract class TypeBase extends AnyRef

    The base API that all types support

  93. abstract case class TypeBounds(lo: SymbolTable.Type, hi: SymbolTable.Type) extends SymbolTable.SubType with SymbolTable.TypeBoundsApi with Product with Serializable

    A class for the bounds of abstract types and type parameters

  94. trait TypeBoundsApi extends Universe.TypeApi

    The API that all type bounds support

  95. abstract class TypeBoundsExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeBound(lower, upper) Here, lower is the lower bound of the TypeBounds pair, and upper is the upper bound.

  96. abstract class TypeCollector[T] extends SymbolTable.TypeTraverser

  97. class TypeConstraint extends AnyRef

    A class expressing upper and lower bounds constraints of type variables, as well as their instantiations.

  98. class TypeError extends java.lang.Throwable

    A throwable signalling a type error

  99. abstract class TypeMap extends (SymbolTable.Type) ⇒ SymbolTable.Type

    A prototype for mapping a function over all possible types

  100. abstract case class TypeRef(pre: SymbolTable.Type, sym: SymbolTable.Symbol, args: List[SymbolTable.Type]) extends SymbolTable.Type with SymbolTable.TypeRefApi with Product with Serializable

    A class for named types of the form <prefix>.<sym.name>[args] Cannot be created directly; one should always use typeRef for creation.

  101. trait TypeRefApi extends Universe.TypeApi

    The API that all type refs support

  102. abstract class TypeRefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeRef(pre, sym, args) Here, pre is the prefix of the type reference, sym is the symbol referred to by the type reference, and args is a possible empty list of type argumenrts.

  103. abstract class TypeTraverser extends SymbolTable.TypeMap

  104. abstract class TypeTraverserWithResult[T] extends SymbolTable.TypeTraverser

  105. class TypeUnwrapper extends (SymbolTable.Type) ⇒ SymbolTable.Type

  106. class TypeVar extends SymbolTable.Type

    A class representing a type variable: not used after phase typer.

  107. class UndoLog extends Clearable

  108. final class UniqueConstantType extends SymbolTable.ConstantType with SymbolTable.UniqueType

  109. final class UniqueErasedValueType extends SymbolTable.ErasedValueType with SymbolTable.UniqueType

  110. final class UniqueSingleType extends SymbolTable.SingleType with SymbolTable.UniqueType

  111. final class UniqueSuperType extends SymbolTable.SuperType with SymbolTable.UniqueType

  112. final class UniqueThisType extends SymbolTable.ThisType with SymbolTable.UniqueType

  113. trait UniqueType extends Product

  114. final class UniqueTypeBounds extends SymbolTable.TypeBounds with SymbolTable.UniqueType

  115. trait UntouchableTypeVar extends SymbolTable.TypeVar

  116. trait VariantTypeMap extends SymbolTable.TypeMap

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Test two objects for inequality.

    Test two objects for inequality.

    returns

    true if !(this == that), false otherwise.

    Definition Classes
    Any
  3. final def ##(): Int

    Equivalent to x.hashCode except for boxed numeric types and null.

    Equivalent to x.hashCode except for boxed numeric types and null. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. For null returns a hashcode where null.hashCode throws a NullPointerException.

    returns

    a hash value consistent with ==

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

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

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

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Test two objects for equality.

    Test two objects for equality. The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    Any
  8. object AnnotatedType extends SymbolTable.AnnotatedTypeExtractor with Serializable

    The constructor/deconstructor for AnnotatedType instances.

  9. implicit val AnnotatedTypeTag: ClassTag[SymbolTable.AnnotatedType]

    A tag that preserves the identity of the AnnotatedType abstract type from erasure.

    A tag that preserves the identity of the AnnotatedType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  10. object ApproximateDependentMap extends SymbolTable.TypeMap

  11. object BoundedWildcardType extends SymbolTable.BoundedWildcardTypeExtractor with Serializable

    Definition Classes
    TypesTypes
  12. implicit val BoundedWildcardTypeTag: ClassTag[SymbolTable.BoundedWildcardType]

    A tag that preserves the identity of the BoundedWildcardType abstract type from erasure.

    A tag that preserves the identity of the BoundedWildcardType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  13. object ClassInfoType extends SymbolTable.ClassInfoTypeExtractor with Serializable

    The constructor/deconstructor for ClassInfoType instances.

  14. implicit val ClassInfoTypeTag: ClassTag[SymbolTable.ClassInfoType]

    A tag that preserves the identity of the ClassInfoType abstract type from erasure.

    A tag that preserves the identity of the ClassInfoType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  15. implicit val CompoundTypeTag: ClassTag[SymbolTable.CompoundType]

    A tag that preserves the identity of the CompoundType abstract type from erasure.

    A tag that preserves the identity of the CompoundType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  16. object ConstantType extends SymbolTable.ConstantTypeExtractor with Serializable

    The constructor/deconstructor for ConstantType instances.

  17. implicit val ConstantTypeTag: ClassTag[SymbolTable.ConstantType]

    A tag that preserves the identity of the ConstantType abstract type from erasure.

    A tag that preserves the identity of the ConstantType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  18. object ErasedValueType extends Serializable

  19. object ErroneousCollector extends SymbolTable.TypeCollector[Boolean]

    A map to implement the contains method.

  20. object ErrorType extends SymbolTable.Type with Product with Serializable

    An object representing an erroneous type

  21. object ExistentialType extends SymbolTable.ExistentialTypeExtractor with Serializable

    The constructor/deconstructor for ExistentialType instances.

  22. implicit val ExistentialTypeTag: ClassTag[SymbolTable.ExistentialType]

    A tag that preserves the identity of the ExistentialType abstract type from erasure.

    A tag that preserves the identity of the ExistentialType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  23. object GenPolyType

    A creator and extractor for type parameterizations that strips empty type parameter lists.

  24. val GlbFailure: java.lang.Throwable

  25. object HasTypeMember

  26. object HasTypeParams

  27. object IsDependentCollector extends SymbolTable.TypeCollector[Boolean]

  28. def JavaMethodType(params: List[SymbolTable.Symbol], resultType: SymbolTable.Type): SymbolTable.JavaMethodType

    The canonical creator for implicit method types

  29. object MethodType extends SymbolTable.MethodTypeExtractor with Serializable

    The constructor/deconstructor for MethodType instances.

  30. implicit val MethodTypeTag: ClassTag[SymbolTable.MethodType]

    A tag that preserves the identity of the MethodType abstract type from erasure.

    A tag that preserves the identity of the MethodType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  31. object NoPrefix extends SymbolTable.Type with Product with Serializable

    An object representing a non-existing prefix

  32. object NoType extends SymbolTable.Type with Product with Serializable

    An object representing a non-existing type

  33. object NullaryMethodType extends SymbolTable.NullaryMethodTypeExtractor with Serializable

    The constructor/deconstructor for NullaryMethodType instances.

  34. implicit val NullaryMethodTypeTag: ClassTag[SymbolTable.NullaryMethodType]

    A tag that preserves the identity of the NullaryMethodType abstract type from erasure.

    A tag that preserves the identity of the NullaryMethodType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  35. object PolyType extends SymbolTable.PolyTypeExtractor with Serializable

    The constructor/deconstructor for PolyType instances.

  36. implicit val PolyTypeTag: ClassTag[SymbolTable.PolyType]

    A tag that preserves the identity of the PolyType abstract type from erasure.

    A tag that preserves the identity of the PolyType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  37. object RefinedType extends SymbolTable.RefinedTypeExtractor with Serializable

    The constructor/deconstructor for RefinedType instances.

  38. implicit val RefinedTypeTag: ClassTag[SymbolTable.RefinedType]

    A tag that preserves the identity of the RefinedType abstract type from erasure.

    A tag that preserves the identity of the RefinedType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  39. object SingleType extends SymbolTable.SingleTypeExtractor with Serializable

    The constructor/deconstructor for SingleType instances.

  40. implicit val SingleTypeTag: ClassTag[SymbolTable.SingleType]

    A tag that preserves the identity of the SingleType abstract type from erasure.

    A tag that preserves the identity of the SingleType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  41. implicit val SingletonTypeTag: ClassTag[SymbolTable.SingletonType]

    A tag that preserves the identity of the SingletonType abstract type from erasure.

    A tag that preserves the identity of the SingletonType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  42. object StripAnnotationsMap extends SymbolTable.TypeMap

  43. object SuperType extends SymbolTable.SuperTypeExtractor with Serializable

    The constructor/deconstructor for SuperType instances.

  44. implicit val SuperTypeTag: ClassTag[SymbolTable.SuperType]

    A tag that preserves the identity of the SuperType abstract type from erasure.

    A tag that preserves the identity of the SuperType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  45. object ThisType extends SymbolTable.ThisTypeExtractor with Serializable

    The constructor/deconstructor for ThisType instances.

  46. implicit val ThisTypeTag: ClassTag[SymbolTable.ThisType]

    A tag that preserves the identity of the ThisType abstract type from erasure.

    A tag that preserves the identity of the ThisType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  47. object TypeBounds extends SymbolTable.TypeBoundsExtractor with Serializable

    The constructor/deconstructor for TypeBounds instances.

  48. implicit val TypeBoundsTag: ClassTag[SymbolTable.TypeBounds]

    A tag that preserves the identity of the TypeBounds abstract type from erasure.

    A tag that preserves the identity of the TypeBounds abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  49. object TypeRef extends SymbolTable.TypeRefExtractor with Serializable

    The constructor/deconstructor for TypeRef instances.

  50. implicit val TypeRefTag: ClassTag[SymbolTable.TypeRef]

    A tag that preserves the identity of the TypeRef abstract type from erasure.

    A tag that preserves the identity of the TypeRef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  51. implicit val TypeTagg: ClassTag[SymbolTable.Type]

    A tag that preserves the identity of the Type abstract type from erasure.

    A tag that preserves the identity of the Type abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    TypesTypes
  52. object TypeVar

  53. object UnmappableTree extends SymbolTable.Tree with SymbolTable.TermTree with Product with Serializable

  54. object WildcardType extends SymbolTable.Type with Product with Serializable

    An object representing an unknown type, used during type inference.

  55. def abstractTypesToBounds(tp: SymbolTable.Type): SymbolTable.Type

    Type with all top-level occurrences of abstract types replaced by their bounds

  56. object adaptToNewRunMap extends SymbolTable.TypeMap

  57. def addMember(thistp: SymbolTable.Type, tp: SymbolTable.Type, sym: SymbolTable.Symbol, depth: Int): Unit

    Make symbol sym a member of scope tp.decls where thistp is the narrowed owner type of the scope.

  58. def addMember(thistp: SymbolTable.Type, tp: SymbolTable.Type, sym: SymbolTable.Symbol): Unit

  59. def addSerializable(ps: SymbolTable.Type*): List[SymbolTable.Type]

  60. def annotatedType(annots: List[SymbolTable.AnnotationInfo], underlying: SymbolTable.Type, selfsym: SymbolTable.Symbol = NoSymbol): SymbolTable.Type

    Creator for AnnotatedTypes.

    Creator for AnnotatedTypes. It returns the underlying type if annotations.isEmpty rather than walking into the assertion.

  61. def appliedType(tyconSym: SymbolTable.Symbol, args: SymbolTable.Type*): SymbolTable.Type

    Very convenient.

  62. def appliedType(tycon: SymbolTable.Type, args: List[SymbolTable.Type]): SymbolTable.Type

    A creator for type applications

    A creator for type applications

    Definition Classes
    TypesTypes
  63. def appliedTypeAsUpperBounds(tycon: SymbolTable.Type, args: List[SymbolTable.Type]): SymbolTable.Type

    A creator for existential types where the type arguments, rather than being applied directly, are interpreted as the upper bounds of unknown types.

    A creator for existential types where the type arguments, rather than being applied directly, are interpreted as the upper bounds of unknown types. For instance if the type argument list given is List(AnyRefClass), the resulting type would be e.g. Set[_ <: AnyRef] rather than Set[AnyRef] .

  64. final def asInstanceOf[T0]: T0

    Cast the receiver object to be of type T0.

    Cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown
    ClassCastException

    if the receiver object is not an instance of the erasure of type T0.

  65. def baseTypeOfNonClassTypeRef(tpe: SymbolTable.NonClassTypeRef, clazz: SymbolTable.Symbol): SymbolTable.Type

    Attributes
    protected
  66. def beginsWithTypeVarOrIsRefined(tp: SymbolTable.Type): Boolean

    Does this type have a prefix that begins with a type variable, or is it a refinement type? For type prefixes that fulfil this condition, type selections with the same name of equal (wrt) =:= prefixes are considered equal wrt =:=

  67. def clone(): AnyRef

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  68. def commonOwnerMap: SymbolTable.CommonOwnerMap

    Attributes
    protected
  69. final def compareLengths(xs1: List[_], xs2: List[_]): Int

    Annotations
    @tailrec()
  70. def containsExistential(tpe: SymbolTable.Type): Boolean

  71. def copyMethodType(tp: SymbolTable.Type, params: List[SymbolTable.Symbol], restpe: SymbolTable.Type): SymbolTable.Type

    Create a new MethodType of the same class as tp, i.

    Create a new MethodType of the same class as tp, i.e. keep JavaMethodType

  72. def copyRefinedType(original: SymbolTable.RefinedType, parents: List[SymbolTable.Type], decls: SymbolTable.Scope): SymbolTable.Type

  73. def copyTypeRef(tp: SymbolTable.Type, pre: SymbolTable.Type, sym: SymbolTable.Symbol, args: List[SymbolTable.Type]): SymbolTable.Type

  74. object deAlias extends SymbolTable.TypeMap

    Remove any occurrences of type aliases from this type

  75. def defineBaseClassesOfCompoundType(tpe: SymbolTable.CompoundType): Unit

    Attributes
    protected
  76. def defineBaseTypeSeqOfCompoundType(tpe: SymbolTable.CompoundType): Unit

    Attributes
    protected
  77. def defineBaseTypeSeqOfTypeRef(tpe: SymbolTable.TypeRef): Unit

    Attributes
    protected
  78. def defineParentsOfTypeRef(tpe: SymbolTable.TypeRef): Unit

    Attributes
    protected
  79. def defineUnderlyingOfSingleType(tpe: SymbolTable.SingleType): Unit

    Attributes
    protected
  80. def differentOrNone(tp1: SymbolTable.Type, tp2: SymbolTable.Type): SymbolTable.Type

  81. object dropAllRefinements extends SymbolTable.TypeMap

    Substitutes the empty scope for any non-empty decls in the type.

  82. object dropRepeatedParamType extends SymbolTable.TypeMap

  83. object dropSingletonType extends SymbolTable.TypeMap

    Remove any occurrence of type <singleton> from this type and its parents

  84. def elimAnonymousClass(t: SymbolTable.Type): SymbolTable.Type

  85. def elimRefinement(t: SymbolTable.Type): SymbolTable.Type

  86. val enableTypeVarExperimentals: Boolean

    Attributes
    protected
  87. def ensuring(cond: (Types) ⇒ Boolean, msg: ⇒ Any): Types

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

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

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

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

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an equivalence relation on non-null instances of AnyRef, and has three additional properties:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false.
    • null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    returns

    true if the argument is a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  92. def equals(arg0: Any): Boolean

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to eq.

    See also equals in scala.Any.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AnyRef → Any
  93. def etaExpandKeepsStar: Boolean

    Attributes
    protected
  94. def existentialAbstraction(tparams: List[SymbolTable.Symbol], tpe0: SymbolTable.Type): SymbolTable.Type

    A creator for existential types.

    A creator for existential types. This generates:

    tpe1 where { tparams }

    where tpe1 is the result of extrapolating tpe wrt to tparams. Extrapolating means that type variables in tparams occurring in covariant positions are replaced by upper bounds, (minus any SingletonClass markers), type variables in tparams occurring in contravariant positions are replaced by upper bounds, provided the resulting type is legal wrt to stability, and does not contain any type variable in tparams.

    The abstraction drops all type parameters that are not directly or indirectly referenced by type tpe1. If there are no remaining type parameters, simply returns result type tpe.

    Definition Classes
    TypesTypes
  95. def existentialsInType(tpe: SymbolTable.Type): List[SymbolTable.Symbol]

  96. def explain[T](op: String, p: (SymbolTable.Type, T) ⇒ Boolean, tp1: SymbolTable.Type, arg2: T): Boolean

    Perform operation p on arguments tp1, arg2 and print trace of computation.

    Perform operation p on arguments tp1, arg2 and print trace of computation.

    Attributes
    protected
  97. def explainTypes(op: (SymbolTable.Type, SymbolTable.Type) ⇒ Any, found: SymbolTable.Type, required: SymbolTable.Type): Unit

    If option explaintypes is set, print a subtype trace for op(found, required).

  98. def explainTypes(found: SymbolTable.Type, required: SymbolTable.Type): Unit

    If option explaintypes is set, print a subtype trace for found <:< required.

  99. def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the finalize method is invoked, as well as the interaction between finalize and non-local returns and exceptions, are all platform dependent.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  100. def findRecursiveBounds(ts: List[SymbolTable.Type]): List[(SymbolTable.Symbol, SymbolTable.Symbol)]

    From a list of types, find any which take type parameters where the type parameter bounds contain references to other any types in the list (including itself.

    From a list of types, find any which take type parameters where the type parameter bounds contain references to other any types in the list (including itself.)

    returns

    List of symbol pairs holding the recursive type parameter and the parameter which references it.

  101. def formatted(fmtstr: String): String

    Returns string formatted according to given format string.

    Returns string formatted according to given format string. Format strings are as for String.format (@see java.lang.String.format).

    Implicit information
    This member is added by an implicit conversion from Types to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  102. def fromDeBruijn(owner: SymbolTable.Symbol): SymbolTable.TypeMap

  103. def genPolyType(params: List[SymbolTable.Symbol], tpe: SymbolTable.Type): SymbolTable.Type

  104. final def getClass(): Class[_]

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
    AnyRef → Any
    Note

    not specified by SLS as a member of AnyRef

  105. def glb(ts: List[SymbolTable.Type]): SymbolTable.Type

    The greatest lower bound wrt <:< of a list of types

    The greatest lower bound wrt <:< of a list of types

    Definition Classes
    TypesTypes
  106. def glbNorm(ts: List[SymbolTable.Type], depth: Int): SymbolTable.Type

    The greatest lower bound wrt <:< of a list of types, which have been normalized wrt elimSuper

    The greatest lower bound wrt <:< of a list of types, which have been normalized wrt elimSuper

    Attributes
    protected
  107. final def hasLength(xs: List[_], len: Int): Boolean

    Again avoiding calling length, but the lengthCompare interface is clunky.

  108. def hashCode(): Int

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

    the hash code value for this object.

    Definition Classes
    AnyRef → Any
  109. def instTypeVar(tp: SymbolTable.Type): SymbolTable.Type

  110. def instantiatedBounds(pre: SymbolTable.Type, owner: SymbolTable.Symbol, tparams: List[SymbolTable.Symbol], targs: List[SymbolTable.Type]): List[SymbolTable.TypeBounds]

  111. def intersectionType(tps: List[SymbolTable.Type]): SymbolTable.Type

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    Definition Classes
    TypesTypes
  112. def intersectionType(tps: List[SymbolTable.Type], owner: SymbolTable.Symbol): SymbolTable.Type

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    !!! Repeated parent classes are not merged - is this a bug in the comment or in the code?

    Definition Classes
    TypesTypes
  113. val intersectionWitness: WeakHashMap[List[SymbolTable.Type], WeakReference[SymbolTable.Type]]

    A map from lists to compound types that have the given list as parents.

    A map from lists to compound types that have the given list as parents. This is used to avoid duplication in the computation of base type sequences and baseClasses. It makes use of the fact that these two operations depend only on the parents, not on the refinement.

  114. def isBoundedGeneric(tp: SymbolTable.Type): Boolean

  115. def isConstantType(tp: SymbolTable.Type): Boolean

  116. def isDifferentType(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

  117. def isDifferentTypeConstructor(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

  118. def isErrorOrWildcard(tp: SymbolTable.Type): Boolean

  119. def isHKSubType0(tp1: SymbolTable.Type, tp2: SymbolTable.Type, depth: Int): Boolean

  120. final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is T0.

    Test whether the dynamic type of the receiver object is T0.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression 1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  121. def isNumericSubType(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

    The isNumericValueType tests appear redundant, but without them test/continuations-neg/function3.

    The isNumericValueType tests appear redundant, but without them test/continuations-neg/function3.scala goes into an infinite loop. (Even if the calls are to typeSymbolDirect.)

  122. def isPopulated(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

    Is intersection of given types populated? That is, for all types tp1, tp2 in intersection for all common base classes bc of tp1 and tp2 let bt1, bt2 be the base types of tp1, tp2 relative to class bc Then: bt1 and bt2 have the same prefix, and any corresponding non-variant type arguments of bt1 and bt2 are the same

  123. def isPossiblePrefix(clazz: SymbolTable.Symbol): Boolean

    Might the given symbol be important when calculating the prefix of a type? When tp.

    Might the given symbol be important when calculating the prefix of a type? When tp.asSeenFrom(pre, clazz) is called on tp, the result will be tp unchanged if pre is trivial and clazz is a symbol such that isPossiblePrefix(clazz) == false.

  124. def isRaw(sym: SymbolTable.Symbol, args: List[SymbolTable.Type]): Boolean

  125. def isRawType(tp: SymbolTable.Type): Boolean

    Is type tp a raw type?

  126. def isSameType(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

    Do tp1 and tp2 denote equivalent types?

  127. def isSameType2(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

  128. def isSameTypes(tps1: List[SymbolTable.Type], tps2: List[SymbolTable.Type]): Boolean

    Are tps1 and tps2 lists of pairwise equivalent types?

  129. def isSingleType(tp: SymbolTable.Type): Boolean

  130. def isSubArgs(tps1: List[SymbolTable.Type], tps2: List[SymbolTable.Type], tparams: List[SymbolTable.Symbol], depth: Int): Boolean

  131. def isSubType(tp1: SymbolTable.Type, tp2: SymbolTable.Type, depth: Int): Boolean

  132. def isSubType(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

  133. def isSubTypes(tps1: List[SymbolTable.Type], tps2: List[SymbolTable.Type]): Boolean

    Are tps1 and tps2 lists of equal length such that all elements of tps1 conform to corresponding elements of tps2?

  134. def isUnboundedGeneric(tp: SymbolTable.Type): Boolean

  135. def isWeakSubType(tp1: SymbolTable.Type, tp2: SymbolTable.Type): Boolean

  136. def isWithinBounds(pre: SymbolTable.Type, owner: SymbolTable.Symbol, tparams: List[SymbolTable.Symbol], targs: List[SymbolTable.Type]): Boolean

    Do type arguments targs conform to formal parameters tparams?

  137. def lub(ts: List[SymbolTable.Type]): SymbolTable.Type

    The least upper bound of a list of types, as determined by <:<.

    The least upper bound of a list of types, as determined by <:<.

    Definition Classes
    TypesTypes
  138. def lubDepth(ts: List[SymbolTable.Type]): Int

    The maximum allowable depth of lubs or glbs over types ts.

  139. def map2Conserve[A <: AnyRef, B](xs: List[A], ys: List[B])(f: (A, B) ⇒ A): List[A]

    like map2, but returns list xs itself - instead of a copy - if function f maps all elements to themselves.

  140. final def matchesType(tp1: SymbolTable.Type, tp2: SymbolTable.Type, alwaysMatchSimple: Boolean): Boolean

    A function implementing tp1 matches tp2.

  141. final val maxTostringRecursions: Int(50)

    The maximum number of recursions allowed in toString

  142. def mergePrefixAndArgs(tps: List[SymbolTable.Type], variance: Int, depth: Int): Option[SymbolTable.Type]

    Compute lub (if variance == 1) or glb (if variance == -1) of given list of types tps.

    Compute lub (if variance == 1) or glb (if variance == -1) of given list of types tps. All types in tps are typerefs or singletypes with the same symbol. Return Some(x) if the computation succeeds with result x. Return None if the computation fails.

  143. val missingAliasException: SymbolTable.MissingAliasControl

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

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  145. def needsOuterTest(patType: SymbolTable.Type, selType: SymbolTable.Type, currentOwner: SymbolTable.Symbol): Boolean

    Does a pattern of type patType need an outer test when executed against selector type selType in context defined by currentOwner?

  146. def newExistentialType(quantified: List[SymbolTable.Symbol], underlying: SymbolTable.Type): SymbolTable.Type

    A creator for existential types which flattens nested existentials.

  147. def newUndoLog: SymbolTable.UndoLog

    Attributes
    protected
  148. def normalizePlus(tp: SymbolTable.Type): SymbolTable.Type

  149. final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  150. final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  151. def numericGlb(ts: List[SymbolTable.Type]): SymbolTable.Type

  152. def numericLub(ts: List[SymbolTable.Type]): SymbolTable.Type

  153. def objToAny(tp: SymbolTable.Type): SymbolTable.Type

  154. def overloadedType(pre: SymbolTable.Type, alternatives: List[SymbolTable.Symbol]): SymbolTable.Type

  155. def rawToExistential: SymbolTable.TypeMap

    The raw to existential map converts a raw type to an existential type.

    The raw to existential map converts a raw type to an existential type. It is necessary because we might have read a raw type of a parameterized Java class from a class file. At the time we read the type the corresponding class file might still not be read, so we do not know what the type parameters of the type are. Therefore the conversion of raw types to existential types might not have taken place in ClassFileparser.sigToType (where it is usually done).

  156. def refinedType(parents: List[SymbolTable.Type], owner: SymbolTable.Symbol): SymbolTable.Type

    The canonical creator for a refined type with an initially empty scope.

    The canonical creator for a refined type with an initially empty scope.

    parents

    ...

    owner

    ...

    returns

    ...

    Definition Classes
    TypesTypes
  157. def refinedType(parents: List[SymbolTable.Type], owner: SymbolTable.Symbol, decls: SymbolTable.Scope, pos: SymbolTable.Position): SymbolTable.Type

    the canonical creator for a refined type with a given scope

    the canonical creator for a refined type with a given scope

    Definition Classes
    TypesTypes
  158. def repackExistential(tp: SymbolTable.Type): SymbolTable.Type

    Repack existential types, otherwise they sometimes get unpacked in the wrong location (type inference comes up with an unexpected skolem)

  159. final def sameLength(xs1: List[_], xs2: List[_]): Boolean

    True if two lists have the same length.

    True if two lists have the same length. Since calling length on linear sequences is O(n), it is an inadvisable way to test length equality.

  160. val shorthands: Set[String]

  161. def singleType(pre: SymbolTable.Type, sym: SymbolTable.Symbol): SymbolTable.Type

    The canonical creator for single-types

    The canonical creator for single-types

    Definition Classes
    TypesTypes
  162. def singletonBounds(hi: SymbolTable.Type): SymbolTable.TypeBounds

  163. var skolemizationLevel: Int

    The current skolemization level, needed for the algorithms in isSameType, isSubType that do constraint solving under a prefix.

  164. def solve(tvars: List[SymbolTable.TypeVar], tparams: List[SymbolTable.Symbol], variances: List[Int], upper: Boolean, depth: Int): Boolean

  165. def solve(tvars: List[SymbolTable.TypeVar], tparams: List[SymbolTable.Symbol], variances: List[Int], upper: Boolean): Boolean

    Solve constraint collected in types tvars.

    Solve constraint collected in types tvars.

    tvars

    All type variables to be instantiated.

    tparams

    The type parameters corresponding to tvars

    variances

    The variances of type parameters; need to reverse solution direction for all contravariant variables.

    upper

    When true search for max solution else min.

  166. def spanningTypes(ts: List[SymbolTable.Type]): List[SymbolTable.Type]

    A minimal type list which has a given list of types as its base type sequence

  167. def specializesSym(tp: SymbolTable.Type, sym: SymbolTable.Symbol, depth: Int): Boolean

  168. def specializesSym(tp: SymbolTable.Type, sym: SymbolTable.Symbol): Boolean

    Does type tp implement symbol sym with same or stronger type? Exact only if sym is a member of some refinement type, otherwise we might return false negatives.

  169. def suspendTypeVarsInType(tp: SymbolTable.Type): List[SymbolTable.TypeVar]

    Make each type var in this type use its original type for comparisons instead of collecting constraints.

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

    Definition Classes
    AnyRef
  171. object toDeBruijn extends SymbolTable.TypeMap

  172. def toString(): String

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

    a String representation of the object.

    Definition Classes
    AnyRef → Any
  173. def typeDepth(tp: SymbolTable.Type): Int

    The maximum depth of type tp

  174. def typeFun(tps: List[SymbolTable.Symbol], body: SymbolTable.Type): SymbolTable.Type

    A creator for a type functions, assuming the type parameters tps already have the right owner.

  175. def typeFunAnon(tps: List[SymbolTable.Symbol], body: SymbolTable.Type): SymbolTable.Type

    A creator for anonymous type functions, where the symbol for the type function still needs to be created.

    A creator for anonymous type functions, where the symbol for the type function still needs to be created.

    TODO: type params of anonymous type functions, which currently can only arise from normalising type aliases, are owned by the type alias of which they are the eta-expansion higher-order subtyping expects eta-expansion of type constructors that arise from a class; here, the type params are owned by that class, but is that the right thing to do?

  176. def typeParamsToExistentials(clazz: SymbolTable.Symbol): List[SymbolTable.Symbol]

  177. def typeParamsToExistentials(clazz: SymbolTable.Symbol, tparams: List[SymbolTable.Symbol]): List[SymbolTable.Symbol]

    A collector that tests for existential types appearing at given variance in a type

  178. def typeRef(pre: SymbolTable.Type, sym: SymbolTable.Symbol, args: List[SymbolTable.Type]): SymbolTable.Type

    The canonical creator for typerefs todo: see how we can clean this up a bit

    The canonical creator for typerefs todo: see how we can clean this up a bit

    Definition Classes
    TypesTypes
  179. def typeToString(tpe: SymbolTable.Type): String

    Attributes
    protected
  180. object typeVarToOriginMap extends SymbolTable.TypeMap

    A map to convert every occurrence of a type variable to a wildcard type.

  181. def typeVarsInType(tp: SymbolTable.Type): List[SymbolTable.TypeVar]

    A list of the typevars in a type.

  182. lazy val undoLog: SymbolTable.UndoLog

    A log of type variable with their original constraints.

    A log of type variable with their original constraints. Used in order to undo constraints in the case of isSubType/isSameType failure.

  183. def unique[T <: SymbolTable.Type](tp: T): T

    Attributes
    protected
  184. object unwrapToClass extends SymbolTable.ClassUnwrapper

  185. object unwrapToStableClass extends SymbolTable.ClassUnwrapper

  186. object unwrapWrapperTypes extends SymbolTable.TypeUnwrapper

  187. def validateClassInfo(tp: SymbolTable.ClassInfoType): Unit

    Overridden in reflection compiler

  188. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  191. def weakGlb(ts: List[SymbolTable.Type]): (SymbolTable.Type, Boolean)

  192. def weakLub(ts: List[SymbolTable.Type]): (SymbolTable.Type, Boolean)

  193. object wildcardToTypeVarMap extends SymbolTable.TypeMap

    A map to convert every occurrence of a wildcard type to a fresh type variable

  194. def withTypesExplained[A](op: ⇒ A): A

    Execute op while printing a trace of the operations on types executed.

  195. def [B](y: B): (Types, B)

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

Shadowed Implict Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from Types to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (types: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from Types to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (types: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def polyType(params: List[SymbolTable.Symbol], tpe: SymbolTable.Type): SymbolTable.Type

    A creator for type parameterizations that strips empty type parameter lists.

    A creator for type parameterizations that strips empty type parameter lists. Use this factory method to indicate the type has kind * (it's a polymorphic value) until we start tracking explicit kinds equivalent to typeFun (except that the latter requires tparams nonEmpty).

    Definition Classes
    TypesTypes
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) use genPolyType(...) instead

  2. def x: Types

    Implicit information
    This member is added by an implicit conversion from Types to ArrowAssoc[Types] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (types: ArrowAssoc[Types]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  3. def x: Types

    Implicit information
    This member is added by an implicit conversion from Types to Ensuring[Types] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (types: Ensuring[Types]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from api.Types

Inherited from base.Types

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Types to StringAdd

Inherited by implicit conversion any2stringfmt from Types to StringFormat

Inherited by implicit conversion any2ArrowAssoc from Types to ArrowAssoc[Types]

Inherited by implicit conversion any2Ensuring from Types to Ensuring[Types]

No Group