scala.reflect.runtime

SynchronizedTypes

trait SynchronizedTypes extends Types

This trait overrides methods in reflect.internal, bracketing them in synchronized { ... } to make them thread-safe

Self Type
SymbolTable
Source
SynchronizedTypes.scala
Linear Supertypes
Types, Types, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SynchronizedTypes
  2. Types
  3. Types
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringfmt
  2. by any2stringadd
  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. abstract class AbsTypeImpl extends AbsType

  2. trait AbstractTypeRef extends TypeRef with NonClassTypeRef

  3. trait AliasTypeRef extends TypeRef with NonClassTypeRef

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

    A type carrying some annotations.

  5. trait AnnotationFilter extends TypeMap

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

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

  7. class AppliedTypeVar extends TypeVar

    Precondition: zipped params/args nonEmpty.

  8. class ArgsTypeRef extends TypeRef with UniqueType

  9. class AsSeenFromMap extends TypeMap with KeepOnlyTypeConstraints

    A map to compute the asSeenFrom method

  10. case class BoundedWildcardType(bounds: TypeBounds) extends Type with Product with Serializable

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

  11. case class ClassInfoType(parents: List[Type], decls: Scope, typeSymbol: Symbol) extends CompoundType with Product with Serializable

    A class representing a class info

  12. trait ClassTypeRef extends TypeRef

  13. class ClassUnwrapper extends TypeUnwrapper

  14. class CollectTypeCollector[T] extends TypeCollector[List[T]]

    A map to implement the collect method.

  15. class CommonOwnerMap extends TypeTraverserWithResult[Symbol]

    Attributes
    protected
  16. abstract class CompoundType extends Type

    A common base class for intersection types and class types

  17. abstract case class ConstantType(value: Constant) extends SingletonType with Product with Serializable

    A class representing a constant type.

  18. class ContainsCollector extends TypeCollector[Boolean]

    A map to implement the contains method.

  19. class ContainsTypeCollector extends TypeCollector[Boolean]

    A map to implement the contains method.

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

    A binder defining data associated with De Bruijn indices.

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

    A De Bruijn index referring to a previous type argument.

  22. abstract case class ErasedValueType(sym: Symbol) extends Type with Product with Serializable

  23. class ExistentialExtrapolation extends TypeMap with VariantTypeMap

    Used by existentialAbstraction.

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

    Definition Classes
    Types → Types
  25. class FilterTypeCollector extends TypeCollector[List[Type]]

    A map to implement the filter method.

  26. class FindTypeCollector extends TypeCollector[Option[Type]]

    A map to implement the filter method.

  27. class ForEachTypeTraverser extends TypeTraverser

  28. class HKTypeVar extends TypeVar

    Precondition: params.

  29. class InstantiateDependentMap extends TypeMap with KeepOnlyTypeConstraints

  30. class JavaMethodType extends MethodType

  31. trait KeepOnlyTypeConstraints extends TypeMap with AnnotationFilter

  32. abstract class LazyPolyType extends LazyType

  33. abstract class LazyType extends Type

    A class representing an as-yet unevaluated type.

  34. class MalformedType extends TypeError

    A throwable signalling a malformed type

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

    A class representing a method type with parameters.

  36. class MissingAliasControl extends Throwable with ControlThrowable

  37. class MissingTypeControl extends Throwable with ControlThrowable

  38. class ModuleTypeRef extends NoArgsTypeRef with ClassTypeRef

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

    A class representing types with a name.

  40. class NoArgsTypeRef extends TypeRef with UniqueType

  41. class NoCommonType extends Throwable with ControlThrowable

  42. trait NonClassTypeRef extends TypeRef

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

  44. case class NullaryMethodType(resultType: Type) extends Type with Product with Serializable

    Definition Classes
    Types → Types
  45. case class OverloadedType(pre: Type, alternatives: List[Symbol]) extends Type with Product with Serializable

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

  46. class PackageClassInfoType extends ClassInfoType

  47. class PackageTypeRef extends ModuleTypeRef

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

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

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

    An exception for cyclic references from which we can recover

  50. case class RefinedType(parents: List[Type], decls: Scope) extends CompoundType 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.

  51. final class RefinedType0 extends RefinedType

  52. class RefinementTypeRef extends NoArgsTypeRef with ClassTypeRef

  53. trait RewrappingTypeProxy extends Type with SimpleTypeProxy

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

  54. trait SimpleTypeProxy extends 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).

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

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

  56. abstract class SingletonType extends SubType with SimpleTypeProxy

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

  57. abstract class SubType extends Type

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

  58. class SubTypePair extends AnyRef

  59. abstract class SubstMap[T] extends TypeMap

    A base class to compute all substitutions

  60. class SubstSymMap extends SubstMap[Symbol]

    A map to implement the substSym method.

  61. class SubstThisAndSymMap extends SubstSymMap

  62. class SubstThisMap extends TypeMap

    A map to implement the substThis method.

  63. class SubstTypeMap extends SubstMap[Type]

    A map to implement the subst method.

  64. class SubstWildcardMap extends TypeMap

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

    Definition Classes
    Types → Types
  66. class SynchronizedUndoLog extends UndoLog

  67. abstract case class ThisType(sym: Symbol) extends SingletonType with Product with Serializable

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

  68. abstract class Type extends AbsTypeImpl with Annotatable[Type]

    The base class for all types

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

    A class for the bounds of abstract types and type parameters

  70. abstract class TypeCollector[T] extends TypeTraverser

  71. class TypeConstraint extends AnyRef

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

  72. class TypeError extends Throwable

    A throwable signalling a type error

  73. abstract class TypeMap extends (Type) ⇒ Type

    A prototype for mapping a function over all possible types

  74. abstract case class TypeRef(pre: Type, sym: Symbol, args: List[Type]) extends Type 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.

  75. abstract class TypeTraverser extends TypeMap

  76. abstract class TypeTraverserWithResult[T] extends TypeTraverser

  77. class TypeUnwrapper extends (Type) ⇒ Type

  78. class TypeVar extends Type

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

  79. class UndoLog extends AnyRef

  80. final class UniqueConstantType extends ConstantType with UniqueType

  81. final class UniqueErasedValueType extends ErasedValueType with UniqueType

  82. final class UniqueSingleType extends SingleType with UniqueType

  83. final class UniqueSuperType extends SuperType with UniqueType

  84. final class UniqueThisType extends ThisType with UniqueType

  85. trait UniqueType extends Product

  86. final class UniqueTypeBounds extends TypeBounds with UniqueType

  87. trait UntouchableTypeVar extends TypeVar

  88. trait VariantTypeMap extends TypeMap

Value Members

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

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

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

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

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

    Implicit information
    This member is added by an implicit conversion from SynchronizedTypes to ArrowAssoc[SynchronizedTypes] 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

    Definition Classes
    Any
  8. object AnnotatedType extends AnnotatedTypeExtractor with Serializable

    Definition Classes
    Types → Types
  9. object ApproximateDependentMap extends TypeMap

  10. object BoundedWildcardType extends BoundedWildcardTypeExtractor with Serializable

    Definition Classes
    Types → Types
  11. object ClassInfoType extends ClassInfoTypeExtractor with Serializable

    Definition Classes
    Types → Types
  12. object ConstantType extends ConstantTypeExtractor with Serializable

    Definition Classes
    Types → Types
  13. object ErasedValueType extends Serializable

  14. object ErroneousCollector extends TypeCollector[Boolean]

    A map to implement the contains method.

  15. object ErrorType extends Type with Product with Serializable

    An object representing an erroneous type

  16. object ExistentialType extends ExistentialTypeExtractor with Serializable

    Definition Classes
    Types → Types
  17. object GenPolyType extends AnyRef

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

  18. val GlbFailure: Throwable

    Definition Classes
    Types
  19. object HasTypeMember extends AnyRef

  20. object HasTypeParams extends AnyRef

  21. object IsDependentCollector extends TypeCollector[Boolean]

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

    The canonical creator for implicit method types

    The canonical creator for implicit method types

    Definition Classes
    Types
  23. final val LubGlbMargin: Int(0)

    Definition Classes
    Types
  24. object MethodType extends MethodTypeExtractor with Serializable

    Definition Classes
    Types → Types
  25. object NoPrefix extends Type with Product with Serializable

    An object representing a non-existing prefix

  26. object NoType extends Type with Product with Serializable

    An object representing a non-existing type

  27. object NullaryMethodType extends NullaryMethodTypeExtractor with Serializable

    Definition Classes
    Types → Types
  28. object PolyType extends PolyTypeExtractor with Serializable

    Definition Classes
    Types → Types
  29. object RefinedType extends RefinedTypeExtractor with Serializable

    Definition Classes
    Types → Types
  30. object SingleType extends SingleTypeExtractor with Serializable

    Definition Classes
    Types → Types
  31. object StripAnnotationsMap extends TypeMap

  32. object SuperType extends SuperTypeExtractor with Serializable

    Definition Classes
    Types → Types
  33. object ThisType extends ThisTypeExtractor with Serializable

    Definition Classes
    Types → Types
  34. object TypeBounds extends TypeBoundsExtractor with Serializable

    Definition Classes
    Types → Types
  35. object TypeRef extends TypeRefExtractor with Serializable

    Definition Classes
    Types → Types
  36. object TypeVar extends AnyRef

  37. object UnmappableTree extends Tree with TermTree with Product with Serializable

  38. object WildcardType extends Type with Product with Serializable

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

  39. def abstractTypesToBounds(tp: Type): Type

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

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

    Definition Classes
    Types
  40. object adaptToNewRunMap extends TypeMap

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

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

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

    Definition Classes
    Types
  42. def annotatedType(annots: List[AnnotationInfo], underlying: Type, selfsym: Symbol = NoSymbol): Type

    Creator for AnnotatedTypes.

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

    Definition Classes
    Types
  43. def appliedType(tyconSym: Symbol, args: Type*): Type

    Very convenient.

    Very convenient.

    Definition Classes
    Types
  44. def appliedType(tycon: Type, args: List[Type]): Type

    A creator for type applications

    A creator for type applications

    Definition Classes
    Types → Types
  45. def appliedTypeAsUpperBounds(tycon: Type, args: List[Type]): 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] .

    Definition Classes
    Types
  46. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  47. def baseTypeOfNonClassTypeRef(tpe: NonClassTypeRef, clazz: Symbol): Type

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  48. def beginsWithTypeVarOrIsRefined(tp: 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 =:=

    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 =:=

    Definition Classes
    Types
  49. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  50. def commonOwnerMap: CommonOwnerMap

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  51. final def compareLengths(xs1: List[_], xs2: List[_]): Int

    Definition Classes
    Types
    Annotations
    @tailrec()
  52. def containsExistential(tpe: Type): Boolean

    Definition Classes
    Types
  53. def copyMethodType(tp: Type, params: List[Symbol], restpe: Type): 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

    Definition Classes
    Types
  54. def copyRefinedType(original: RefinedType, parents: List[Type], decls: Scope): Type

    Definition Classes
    Types
  55. def copyTypeRef(tp: Type, pre: Type, sym: Symbol, args: List[Type]): Type

    Definition Classes
    Types
  56. object deAlias extends TypeMap

    Remove any occurrences of type aliases from this type

  57. def defineBaseClassesOfCompoundType(tpe: CompoundType): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  58. def defineBaseTypeSeqOfCompoundType(tpe: CompoundType): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  59. def defineBaseTypeSeqOfTypeRef(tpe: TypeRef): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  60. def defineParentsOfTypeRef(tpe: TypeRef): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  61. def defineUnderlyingOfSingleType(tpe: SingleType): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  62. def differentOrNone(tp1: Type, tp2: Type): Type

    Definition Classes
    Types
  63. object dropAllRefinements extends TypeMap

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

  64. object dropRepeatedParamType extends TypeMap

  65. object dropSingletonType extends TypeMap

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

  66. def elimAnonymousClass(t: Type): Type

    Definition Classes
    Types
  67. def elimRefinement(t: Type): Type

    Definition Classes
    Types
  68. val enableTypeVarExperimentals: Boolean

    Attributes
    protected
    Definition Classes
    Types
  69. def ensuring(cond: (SynchronizedTypes) ⇒ Boolean, msg: ⇒ Any): SynchronizedTypes

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

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

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

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

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

    Definition Classes
    AnyRef → Any
  75. def etaExpandKeepsStar: Boolean

    Attributes
    protected
    Definition Classes
    Types
  76. def existentialAbstraction(tparams: List[Symbol], tpe0: Type): 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
    Types → Types
  77. def existentialsInType(tpe: Type): List[Symbol]

    Definition Classes
    Types
  78. def explain[T](op: String, p: (Type, T) ⇒ Boolean, tp1: 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
    Definition Classes
    SynchronizedTypesTypes
  79. def explainTypes(op: (Type, Type) ⇒ Any, found: Type, required: Type): Unit

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

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

    Definition Classes
    Types
  80. def explainTypes(found: Type, required: Type): Unit

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

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

    Definition Classes
    Types
  81. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  82. def findRecursiveBounds(ts: List[Type]): List[(Symbol, 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.

    Definition Classes
    Types
  83. def formatted(fmtstr: String): String

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

    Definition Classes
    Types
  85. def genPolyType(params: List[Symbol], tpe: Type): Type

    Definition Classes
    Types
  86. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  87. def glb(ts: List[Type]): Type

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

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

    Definition Classes
    SynchronizedTypesTypes → Types
  88. def glbNorm(ts: List[Type], depth: Int): 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
    Definition Classes
    Types
  89. final def hasLength(xs: List[_], len: Int): Boolean

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

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

    Definition Classes
    Types
  90. def hashCode(): Int

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

    Definition Classes
    Types
  92. def instantiatedBounds(pre: Type, owner: Symbol, tparams: List[Symbol], targs: List[Type]): List[TypeBounds]

    Definition Classes
    Types
  93. def intersectionType(tps: List[Type]): 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
    Types → Types
  94. def intersectionType(tps: List[Type], owner: Symbol): 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
    Types → Types
  95. val intersectionWitness: WeakHashMap[List[Type], WeakReference[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.

    Definition Classes
    Types
  96. def isBoundedGeneric(tp: Type): Boolean

    Definition Classes
    Types
  97. def isConstantType(tp: Type): Boolean

    Definition Classes
    Types
  98. def isDifferentType(tp1: Type, tp2: Type): Boolean

    Definition Classes
    SynchronizedTypesTypes
  99. def isDifferentTypeConstructor(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  100. def isErrorOrWildcard(tp: Type): Boolean

    Definition Classes
    Types
  101. def isHKSubType0(tp1: Type, tp2: Type, depth: Int): Boolean

    Definition Classes
    Types
  102. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  103. def isNumericSubType(tp1: Type, tp2: 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.)

    Definition Classes
    Types
  104. def isPopulated(tp1: Type, tp2: 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

    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

    Definition Classes
    Types
  105. def isRaw(sym: Symbol, args: List[Type]): Boolean

    Definition Classes
    Types
  106. def isRawType(tp: Type): Boolean

    Is type tp a raw type?

    Is type tp a raw type?

    Definition Classes
    Types
  107. def isSameType(tp1: Type, tp2: Type): Boolean

    Do tp1 and tp2 denote equivalent types?

    Do tp1 and tp2 denote equivalent types?

    Definition Classes
    SynchronizedTypesTypes
  108. def isSameType2(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  109. def isSameTypes(tps1: List[Type], tps2: List[Type]): Boolean

    Are tps1 and tps2 lists of pairwise equivalent types?

    Are tps1 and tps2 lists of pairwise equivalent types?

    Definition Classes
    Types
  110. def isSingleType(tp: Type): Boolean

    Definition Classes
    Types
  111. def isSubArg(t1: Type, t2: Type, variance: Int): Boolean

    Definition Classes
    Types
  112. def isSubArgs(tps1: List[Type], tps2: List[Type], tparams: List[Symbol]): Boolean

    Definition Classes
    Types
  113. def isSubType(tp1: Type, tp2: Type, depth: Int): Boolean

    Definition Classes
    SynchronizedTypesTypes
  114. def isSubType(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  115. def isSubTypes(tps1: List[Type], tps2: List[Type]): Boolean

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

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

    Definition Classes
    Types
  116. def isUnboundedGeneric(tp: Type): Boolean

    Definition Classes
    Types
  117. def isWeakSubType(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  118. def isWithinBounds(pre: Type, owner: Symbol, tparams: List[Symbol], targs: List[Type]): Boolean

    Do type arguments targs conform to formal parameters tparams?

    Do type arguments targs conform to formal parameters tparams?

    Definition Classes
    Types
  119. def lub(ts: List[Type]): Type

    Definition Classes
    SynchronizedTypesTypes → Types
  120. def lubDepth(ts: List[Type]): Int

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

    The maximum allowable depth of lubs or glbs over types ts. This is the maximum depth of all types in the base type sequences of each of the types ts, plus LubGlbMargin.

    Definition Classes
    Types
  121. 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.

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

    Definition Classes
    Types
  122. final def matchesType(tp1: Type, tp2: Type, alwaysMatchSimple: Boolean): Boolean

    A function implementing tp1 matches tp2.

    A function implementing tp1 matches tp2.

    Definition Classes
    Types
  123. final val maxTostringRecursions: Int(50)

    The maximum number of recursions allowed in toString

    The maximum number of recursions allowed in toString

    Definition Classes
    Types
  124. def mergePrefixAndArgs(tps: List[Type], variance: Int, depth: Int): Option[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.

    Definition Classes
    Types
  125. val missingAliasException: MissingAliasControl

    Definition Classes
    Types
  126. final def ne(arg0: AnyRef): Boolean

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

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

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

    Definition Classes
    Types
  128. def newExistentialType(quantified: List[Symbol], underlying: Type): Type

    A creator for existential types which flattens nested existentials.

    A creator for existential types which flattens nested existentials.

    Definition Classes
    Types
  129. def newUndoLog: SynchronizedUndoLog

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  130. def normalizePlus(tp: Type): Type

    Definition Classes
    Types
  131. final def notify(): Unit

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

    Definition Classes
    AnyRef
  133. def numericGlb(ts: List[Type]): Type

    Definition Classes
    Types
  134. def numericLub(ts: List[Type]): Type

    Definition Classes
    Types
  135. def objToAny(tp: Type): Type

    Definition Classes
    Types
  136. def rawToExistential: 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).

    Definition Classes
    Types
  137. def refinedType(parents: List[Type], owner: Symbol): 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
    Types → Types
  138. def refinedType(parents: List[Type], owner: Symbol, decls: Scope, pos: Position): 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
    Types → Types
  139. def repackExistential(tp: Type): Type

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

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

    Definition Classes
    Types
  140. 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.

    Definition Classes
    Types
  141. val self: Any

    Implicit information
    This member is added by an implicit conversion from SynchronizedTypes to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
  142. val self: Any

    Implicit information
    This member is added by an implicit conversion from SynchronizedTypes to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  143. val shorthands: Set[String]

    Definition Classes
    Types
  144. def singleType(pre: Type, sym: Symbol): Type

    The canonical creator for single-types

    The canonical creator for single-types

    Definition Classes
    Types → Types
  145. def singletonBounds(hi: Type): TypeBounds

    Definition Classes
    Types
  146. var skolemizationLevel: Int

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

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

    Definition Classes
    Types
  147. def solve(tvars: List[TypeVar], tparams: List[Symbol], variances: List[Int], upper: Boolean, depth: Int): Boolean

    Definition Classes
    Types
  148. def solve(tvars: List[TypeVar], tparams: List[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.

    Definition Classes
    Types
  149. def spanningTypes(ts: List[Type]): List[Type]

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

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

    Definition Classes
    Types
  150. def specializesSym(tp: Type, sym: 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.

    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.

    Definition Classes
    Types
  151. def suspendTypeVarsInType(tp: Type): List[TypeVar]

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

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

    Definition Classes
    Types
  152. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  153. object toDeBruijn extends TypeMap

  154. def toString(): String

    Definition Classes
    AnyRef → Any
  155. def typeFun(tps: List[Symbol], body: Type): Type

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

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

    Definition Classes
    Types
  156. def typeFunAnon(tps: List[Symbol], body: Type): 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?

    Definition Classes
    Types
  157. def typeParamsToExistentials(clazz: Symbol): List[Symbol]

    Definition Classes
    Types
  158. def typeParamsToExistentials(clazz: Symbol, tparams: List[Symbol]): List[Symbol]

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

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

    Definition Classes
    Types
  159. def typeRef(pre: Type, sym: Symbol, args: List[Type]): 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
    Types → Types
  160. def typeToString(tpe: Type): String

    Attributes
    protected
    Definition Classes
    SynchronizedTypesTypes
  161. object typeVarToOriginMap extends TypeMap

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

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

    A list of the typevars in a type.

    A list of the typevars in a type.

    Definition Classes
    Types
  163. lazy val undoLog: 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.

    Definition Classes
    Types
  164. def unique[T <: Type](tp: T): T

    Definition Classes
    SynchronizedTypesTypes
  165. def uniqueTypeCount: Int

    Definition Classes
    Types
  166. object unwrapToClass extends ClassUnwrapper

  167. object unwrapToStableClass extends ClassUnwrapper

  168. object unwrapWrapperTypes extends TypeUnwrapper

  169. def validateClassInfo(tp: ClassInfoType): Unit

    Overridden in reflection compiler

    Overridden in reflection compiler

    Definition Classes
    Types
  170. final def wait(): Unit

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

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

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

    Definition Classes
    Types
  174. def weakLub(ts: List[Type]): (Type, Boolean)

    Definition Classes
    Types
  175. object wildcardToTypeVarMap extends TypeMap

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

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

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

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

    Definition Classes
    Types
  177. def [B](y: B): (SynchronizedTypes, B)

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

Deprecated Value Members

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

    Definition Classes
    Types → Types
    Annotations
    @deprecated
    Deprecated

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

  2. def x: SynchronizedTypes

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

    (Since version 2.10.0) Use leftOfArrow instead

  3. def x: SynchronizedTypes

    Implicit information
    This member is added by an implicit conversion from SynchronizedTypes to Ensuring[SynchronizedTypes] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from Types

Inherited from Types

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringfmt from SynchronizedTypes to StringFormat

Inherited by implicit conversion any2stringadd from SynchronizedTypes to StringAdd

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

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