dotty.tools.dotc.core

ClassfileLoader

Related Doc: package core

class ClassfileLoader extends SymbolLoader

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ClassfileLoader
  2. SymbolLoader
  3. LazyType
  4. Function2
  5. Function1
  6. UncachedGroundType
  7. Type
  8. Showable
  9. Hashable
  10. DotClass
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ClassfileLoader(classfile: AbstractFile)

Value Members

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

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

    Definition Classes
    AnyRef → Any
  3. def &(that: Type)(implicit ctx: Context): Type

    Definition Classes
    Type
  4. final def <:<(that: Type)(implicit ctx: Context): Boolean

    Is this type a subtype of that type?

    Is this type a subtype of that type?

    Definition Classes
    Type
  5. final def =:=(that: Type)(implicit ctx: Context): Boolean

    Is this type the same as that type? This is the case iff this <:< that and that <:< this.

    Is this type the same as that type? This is the case iff this <:< that and that <:< this.

    Definition Classes
    Type
  6. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  7. final def abstractTermMembers(implicit ctx: Context): Seq[SingleDenotation]

    The set of abstract term members of this type.

    The set of abstract term members of this type.

    Definition Classes
    Type
  8. final def abstractTypeMembers(implicit ctx: Context): Seq[SingleDenotation]

    The set of abstract type members of this type.

    The set of abstract type members of this type.

    Definition Classes
    Type
  9. final def addDelta(elemHash: Int, delta: Int): Int

    Attributes
    protected
    Definition Classes
    Hashable
  10. def andThen[A](g: (LazyType) ⇒ A): (Symbol) ⇒ A

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  11. def apply(module: TermSymbol, modcls: ClassSymbol): LazyType

    Definition Classes
    LazyType → Function2
  12. def apply(sym: Symbol): LazyType

    Definition Classes
    LazyType → Function1
  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. final def asSeenFrom(pre: Type, cls: Symbol)(implicit ctx: Context): Type

    This type seen as if it were the type of a member of prefix type pre declared in class cls.

    This type seen as if it were the type of a member of prefix type pre declared in class cls.

    Definition Classes
    Type
  15. final def baseClasses(implicit ctx: Context): List[ClassSymbol]

    The base classes of this type as determined by ClassDenotation in linearization order, with the class itself as first element.

    The base classes of this type as determined by ClassDenotation in linearization order, with the class itself as first element. For AndTypes/OrTypes, the union/intersection of the operands' baseclasses. Inherited by all type proxies. Nil for all other types.

    Definition Classes
    Type
  16. final def baseTypeRef(base: Symbol)(implicit ctx: Context): Type

    The basetype TypeRef of this type with given class symbol, but without including any type arguments

    The basetype TypeRef of this type with given class symbol, but without including any type arguments

    Definition Classes
    Type
  17. final def bounds(implicit ctx: Context): TypeBounds

    This type seen as a TypeBounds

    This type seen as a TypeBounds

    Definition Classes
    Type
  18. final def classSymbol(implicit ctx: Context): Symbol

    The least class or trait of which this type is a subtype or parameterized instance, or NoSymbol if none exists (either because this type is not a value type, or because superclasses are ambiguous).

    The least class or trait of which this type is a subtype or parameterized instance, or NoSymbol if none exists (either because this type is not a value type, or because superclasses are ambiguous).

    Definition Classes
    Type
  19. final def classSymbols(implicit ctx: Context): List[ClassSymbol]

    The least (wrt <:<) set of class symbols of which this type is a subtype

    The least (wrt <:<) set of class symbols of which this type is a subtype

    Definition Classes
    Type
  20. val classfile: AbstractFile

  21. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. def complete(root: SymDenotation)(implicit ctx: Context): Unit

    Sets all missing fields of given denotation

    Sets all missing fields of given denotation

    Definition Classes
    SymbolLoaderLazyType
  23. def compose[A](g: (A) ⇒ Symbol): (A) ⇒ LazyType

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  24. def curried: (TermSymbol) ⇒ (ClassSymbol) ⇒ LazyType

    Definition Classes
    Function2
    Annotations
    @unspecialized()
  25. final def deAnonymize(implicit ctx: Context): Type

    Eliminate anonymous classes

    Eliminate anonymous classes

    Definition Classes
    Type
  26. final def dealias(implicit ctx: Context): Type

    Follow aliases and dereferences LazyRefs, annotated types and instantiated TypeVars until type is no longer alias type, annotated type, LazyRef, or instantiated type variable.

    Follow aliases and dereferences LazyRefs, annotated types and instantiated TypeVars until type is no longer alias type, annotated type, LazyRef, or instantiated type variable.

    Definition Classes
    Type
  27. final def dealiasKeepAnnots(implicit ctx: Context): Type

    Follow aliases and dereferences LazyRefs and instantiated TypeVars until type is no longer alias type, LazyRef, or instantiated type variable.

    Follow aliases and dereferences LazyRefs and instantiated TypeVars until type is no longer alias type, LazyRef, or instantiated type variable. Goes through annotated types and rewraps annotations on the result.

    Definition Classes
    Type
  28. final def decl(name: Name)(implicit ctx: Context): Denotation

    A denotation containing the declaration(s) in this type with the given name.

    A denotation containing the declaration(s) in this type with the given name. The result is either a SymDenotation or a MultiDenotation of SymDenotations. The info(s) are the original symbol infos, no translation takes place.

    Definition Classes
    Type
  29. def decls: Scope

    Definition Classes
    LazyType
  30. final def decls(implicit ctx: Context): Scope

    The scope of all declarations of this type.

    The scope of all declarations of this type. Defined by ClassInfo, inherited by type proxies. Empty scope for all other types.

    Definition Classes
    Type
  31. final def deconst(implicit ctx: Context): Type

    Widen from constant type to its underlying non-constant base type.

    Widen from constant type to its underlying non-constant base type.

    Definition Classes
    Type
  32. def deepenProto(implicit ctx: Context): Type

    If this is a prototype with some ignored component, reveal one more layer of it.

    If this is a prototype with some ignored component, reveal one more layer of it. Otherwise the type itself.

    Definition Classes
    Type
  33. final def derivesFrom(cls: Symbol)(implicit ctx: Context): Boolean

    Is this type an instance of a non-bottom subclass of the given class cls?

    Is this type an instance of a non-bottom subclass of the given class cls?

    Definition Classes
    Type
  34. def description: String

    Description of the resource (ClassPath, AbstractFile) being processed by this loader

    Description of the resource (ClassPath, AbstractFile) being processed by this loader

    Definition Classes
    ClassfileLoaderSymbolLoader
  35. def doComplete(root: SymDenotation)(implicit ctx: Context): Unit

    Load source or class file for root, return

    Load source or class file for root, return

    Definition Classes
    ClassfileLoaderSymbolLoader
  36. final def doHash(x1: Int, x2: Int): Int

    Attributes
    protected
    Definition Classes
    Hashable
  37. final def doHash(x1: Any, tp2: Type, tps3: List[Type]): Int

    Attributes
    protected
    Definition Classes
    Hashable
  38. final def doHash(tp1: Type, tps2: List[Type]): Int

    Attributes
    protected
    Definition Classes
    Hashable
  39. final def doHash(x1: Any, tp2: Type, tp3: Type): Int

    Attributes
    protected
    Definition Classes
    Hashable
  40. final def doHash(tp1: Type, tp2: Type): Int

    Attributes
    protected
    Definition Classes
    Hashable
  41. final def doHash(x1: Any, tp2: Type): Int

    Attributes
    protected
    Definition Classes
    Hashable
  42. final def doHash(tp: Type): Int

    Attributes
    protected
    Definition Classes
    Hashable
  43. final def doHash(x: Any): Int

    Attributes
    protected
    Definition Classes
    Hashable
  44. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  46. def exists: Boolean

    Is this type different from NoType?

    Is this type different from NoType?

    Definition Classes
    Type
  47. final def existsPart(p: (Type) ⇒ Boolean, forceLazy: Boolean = true)(implicit ctx: Context): Boolean

    Returns true if there is a part of this type that satisfies predicate p.

    Returns true if there is a part of this type that satisfies predicate p.

    Definition Classes
    Type
  48. def fallbackToText(printer: Printer): Text

    A fallback text representation, if the pattern matching in Printers does not have a case for this showable element

    A fallback text representation, if the pattern matching in Printers does not have a case for this showable element

    Definition Classes
    Showable
  49. final def fields(implicit ctx: Context): Seq[SingleDenotation]

    Definition Classes
    Type
  50. def finalResultType(implicit ctx: Context): Type

    The final result type of a PolyType, MethodType, or ExprType, after skipping all parameter sections, the type itself for all others.

    The final result type of a PolyType, MethodType, or ExprType, after skipping all parameter sections, the type itself for all others.

    Definition Classes
    Type
  51. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  52. final def findDecl(name: Name, excluded: FlagSet)(implicit ctx: Context): Denotation

    A denotation containing the declaration(s) in this type with the given name, as seen from prefix type pre.

    A denotation containing the declaration(s) in this type with the given name, as seen from prefix type pre. Declarations that have a flag in excluded are omitted.

    Definition Classes
    Type
  53. final def findMember(name: Name, pre: Type, excluded: FlagSet)(implicit ctx: Context): Denotation

    Find member of this type with given name and produce a denotation that contains the type of the member as seen from given prefix pre.

    Find member of this type with given name and produce a denotation that contains the type of the member as seen from given prefix pre. Exclude all members that have flags in excluded from consideration.

    Definition Classes
    Type
  54. def finishHash(seed: Int, arity: Int, tp: Type, tps: List[Type]): Int

    Attributes
    protected
    Definition Classes
    Hashable
  55. def finishHash(seed: Int, arity: Int, tps: List[Type]): Int

    Attributes
    protected
    Definition Classes
    Hashable
  56. def finishHash(seed: Int, arity: Int, tp1: Type, tp2: Type): Int

    Attributes
    protected
    Definition Classes
    Hashable
  57. def finishHash(seed: Int, arity: Int, tp: Type): Int

    Attributes
    protected
    Definition Classes
    Hashable
  58. final def finishHash(hashCode: Int, arity: Int): Int

    Attributes
    protected
    Definition Classes
    Hashable
  59. final def firstParamTypes(implicit ctx: Context): List[Type]

    The parameter types in the first parameter section of a generic type or MethodType, Empty list for others

    The parameter types in the first parameter section of a generic type or MethodType, Empty list for others

    Definition Classes
    Type
  60. def firstParent(implicit ctx: Context): TypeRef

    The first parent of this type, AnyRef if list of parents is empty

    The first parent of this type, AnyRef if list of parents is empty

    Definition Classes
    Type
  61. final def forallParts(p: (Type) ⇒ Boolean)(implicit ctx: Context): Boolean

    Returns true if all parts of this type satisfy predicate p.

    Returns true if all parts of this type satisfy predicate p.

    Definition Classes
    Type
  62. final def foreachPart(p: (Type) ⇒ Unit, stopAtStatic: Boolean = false)(implicit ctx: Context): Unit

    Performs operation on all parts of this type

    Performs operation on all parts of this type

    Definition Classes
    Type
  63. final def frozen_<:<(that: Type)(implicit ctx: Context): Boolean

    Is this type a subtype of that type?

    Is this type a subtype of that type?

    Definition Classes
    Type
  64. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  65. def givenSelfType(implicit ctx: Context): Type

    the self type of the underlying classtype

    the self type of the underlying classtype

    Definition Classes
    Type
  66. final def hasAnnotation(cls: ClassSymbol)(implicit ctx: Context): Boolean

    Does the type carry an annotation that is an instance of cls?

    Does the type carry an annotation that is an instance of cls?

    Definition Classes
    Type
  67. final def hasUnsafeNonvariant(implicit ctx: Context): Boolean

    Does this type have an UnsafeNonvariant annotation on one of its parts?

    Does this type have an UnsafeNonvariant annotation on one of its parts?

    Definition Classes
    Type
  68. final def hash: Int

    customized hash code of this type.

    customized hash code of this type. NotCached for uncached types. Cached types compute hash and use it as the type's hashCode.

    Definition Classes
    UncachedGroundTypeType
  69. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  70. def hashSeed: Int

    Attributes
    protected
    Definition Classes
    Hashable
  71. final def identityHash: Int

    Definition Classes
    Hashable
  72. final def implicitMembers(implicit ctx: Context): List[TermRef]

    The set of implicit members of this type

    The set of implicit members of this type

    Definition Classes
    Type
  73. def isAlias: Boolean

    Is this an alias TypeBounds?

    Is this an alias TypeBounds?

    Definition Classes
    Type
  74. def isDirectRef(sym: Symbol)(implicit ctx: Context): Boolean

    Is this type a (neither aliased nor applied) reference to class sym?

    Is this type a (neither aliased nor applied) reference to class sym?

    Definition Classes
    Type
  75. final def isErroneous(implicit ctx: Context): Boolean

    Is some part of this type produced as a repair for an error?

    Is some part of this type produced as a repair for an error?

    Definition Classes
    Type
  76. final def isError(implicit ctx: Context): Boolean

    Is this type produced as a repair for an error?

    Is this type produced as a repair for an error?

    Definition Classes
    Type
  77. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  78. final def isNotNull(implicit ctx: Context): Boolean

    Is this type guaranteed not to have null as a value? For the moment this is only true for modules, but it could be refined later.

    Is this type guaranteed not to have null as a value? For the moment this is only true for modules, but it could be refined later.

    Definition Classes
    Type
  79. final def isParameterless(implicit ctx: Context): Boolean

    Is this either not a method at all, or a parameterless method?

    Is this either not a method at all, or a parameterless method?

    Definition Classes
    Type
  80. def isRef(sym: Symbol)(implicit ctx: Context): Boolean

    Is this type a (possibly refined or applied or aliased) type reference to the given type symbol?

    Is this type a (possibly refined or applied or aliased) type reference to the given type symbol?

    Definition Classes
    Type
  81. def isRepeatedParam(implicit ctx: Context): Boolean

    Is this a type of a repeated parameter?

    Is this a type of a repeated parameter?

    Definition Classes
    Type
  82. final def isStable(implicit ctx: Context): Boolean

    Does this type denote a stable reference (i.e.

    Does this type denote a stable reference (i.e. singleton type)?

    Definition Classes
    Type
  83. final def isUnsafeNonvariant(implicit ctx: Context): Boolean

    Does this type carry an UnsafeNonvariant annotation?

    Does this type carry an UnsafeNonvariant annotation?

    Definition Classes
    Type
  84. def isValueSubType(that: Type)(implicit ctx: Context): Boolean

    Is this type a primitive value type which can be widened to the primitive value type that?

    Is this type a primitive value type which can be widened to the primitive value type that?

    Definition Classes
    Type
  85. final def isValueType: Boolean

    Is this type a value type?

    Is this type a value type?

    Definition Classes
    Type
  86. final def isValueTypeOrLambda: Boolean

    Is the is value type or type lambda?

    Is the is value type or type lambda?

    Definition Classes
    Type
  87. def isVarArgsMethod(implicit ctx: Context): Boolean

    Is this the type of a method that has a repeated parameter type as last parameter type?

    Is this the type of a method that has a repeated parameter type as last parameter type?

    Definition Classes
    Type
  88. def load(root: SymDenotation)(implicit ctx: Context): Option[Embedded]

  89. def lookupRefined(name: Name)(implicit ctx: Context): Type

    If this normalizes* to a refinement type that has a refinement for name (which might be followed by other refinements), and the refined info is a type alias, return the alias, otherwise return NoType.

    If this normalizes* to a refinement type that has a refinement for name (which might be followed by other refinements), and the refined info is a type alias, return the alias, otherwise return NoType. Used to reduce types of the form

    P { ... type T = / += / -= U ... } # T

    to just U. Does not perform the reduction if the resulting type would contain a reference to the "this" of the current refined type, except in the following situation

    (1) The "this" reference can be avoided by following an alias. Example:

    P { type T = String, type R = P{...}.T } # R --> String

    (*) normalizes means: follow instantiated typevars and aliases.

    Definition Classes
    Type
  90. def mapReduceAnd[T](f: (Type) ⇒ T)(g: (T, T) ⇒ T)(implicit ctx: Context): T

    Map function f over elements of an AndType, rebuilding with function g

    Map function f over elements of an AndType, rebuilding with function g

    Definition Classes
    Type
  91. final def mapReduceOr[T](f: (Type) ⇒ T)(g: (T, T) ⇒ T)(implicit ctx: Context): T

    Map function f over elements of an OrType, rebuilding with function g

    Map function f over elements of an OrType, rebuilding with function g

    Definition Classes
    Type
  92. def matches(that: Type)(implicit ctx: Context): Boolean

    Is this type close enough to that type so that members with the two types would override each other? This means:

    Is this type close enough to that type so that members with the two types would override each other? This means:

    • Either both types are polytypes with the same number of type parameters and their result types match after renaming corresponding type parameters
    • Or both types are method types with =:=-equivalent(*) parameter types and matching result types after renaming corresponding parameter types if the method types are dependent.
    • Or both types are =:=-equivalent
    • Or phase.erasedTypes is false, and neither type takes term or type parameters.

    (*) when matching with a Java method, we also regard Any and Object as equivalent parameter types.

    Definition Classes
    Type
  93. def matchesLoosely(that: Type)(implicit ctx: Context): Boolean

    This is the same as matches except that it also matches => T with T and vice versa.

    This is the same as matches except that it also matches => T with T and vice versa.

    Definition Classes
    Type
  94. final def member(name: Name)(implicit ctx: Context): Denotation

    The member of this type with the given name

    The member of this type with the given name

    Definition Classes
    Type
  95. final def memberClasses(implicit ctx: Context): Seq[SingleDenotation]

    The set of member classes of this type

    The set of member classes of this type

    Definition Classes
    Type
  96. def memberDenots(keepOnly: NameFilter, f: (Name, Buffer[SingleDenotation]) ⇒ Unit)(implicit ctx: Context): Seq[SingleDenotation]

    Definition Classes
    Type
  97. final def memberExcluding(name: Name, excluding: FlagSet)(implicit ctx: Context): Denotation

    Definition Classes
    Type
  98. final def memberInfo(sym: Symbol)(implicit ctx: Context): Type

    The info of sym, seen as a member of this type.

    The info of sym, seen as a member of this type.

    Definition Classes
    Type
  99. final def memberNames(keepOnly: NameFilter, pre: Type = this)(implicit ctx: Context): Set[Name]

    The set of names of members of this type that pass the given name filter when seen as members of pre.

    The set of names of members of this type that pass the given name filter when seen as members of pre. More precisely, these are all of members name such that keepOnly(pre, name) is true.

    Definition Classes
    Type
  100. final def membersBasedOnFlags(requiredFlags: FlagSet, excludedFlags: FlagSet)(implicit ctx: Context): Seq[SingleDenotation]

    The set of members of this type having at least one of requiredFlags but none of excludedFlags set

    The set of members of this type having at least one of requiredFlags but none of excludedFlags set

    Definition Classes
    Type
  101. def moduleClass(implicit ctx: Context): Symbol

    Definition Classes
    LazyType
  102. final def namedParts(implicit ctx: Context): Set[NamedType]

    The parts of this type which are type or term refs

    The parts of this type which are type or term refs

    Definition Classes
    Type
  103. def namedPartsWith(p: (NamedType) ⇒ Boolean, excludeLowerBounds: Boolean = false)(implicit ctx: Context): Set[NamedType]

    The parts of this type which are type or term refs and which satisfy predicate p.

    The parts of this type which are type or term refs and which satisfy predicate p.

    p

    The predicate to satisfy

    excludeLowerBounds

    If set to true, the lower bounds of abstract types will be ignored.

    Definition Classes
    Type
  104. def narrow(implicit ctx: Context): TermRef

    A prefix-less refined this or a termRef to a new skolem symbol that has the given type as info.

    A prefix-less refined this or a termRef to a new skolem symbol that has the given type as info.

    Definition Classes
    Type
  105. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  106. final def nonClassTypeMembers(implicit ctx: Context): Seq[SingleDenotation]

    The set of abstract type members of this type.

    The set of abstract type members of this type.

    Definition Classes
    Type
  107. final def nonPrivateDecl(name: Name)(implicit ctx: Context): Denotation

    A denotation containing the non-private declaration(s) in this type with the given name

    A denotation containing the non-private declaration(s) in this type with the given name

    Definition Classes
    Type
  108. final def nonPrivateMember(name: Name)(implicit ctx: Context): Denotation

    The non-private member of this type with the given name.

    The non-private member of this type with the given name.

    Definition Classes
    Type
  109. final def normalizedPrefix(implicit ctx: Context): Type

    The normalized prefix of this type is: For an alias type, the normalized prefix of its alias For all other named type and class infos: the prefix.

    The normalized prefix of this type is: For an alias type, the normalized prefix of its alias For all other named type and class infos: the prefix. Inherited by all other type proxies. NoType for all other types.

    Definition Classes
    Type
  110. def notApplied: Type

    If this is a FunProto or PolyProto, WildcardType, otherwise this.

    If this is a FunProto or PolyProto, WildcardType, otherwise this.

    Definition Classes
    Type
  111. final def notify(): Unit

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

    Definition Classes
    AnyRef
  113. final def occursIn(that: Type)(implicit ctx: Context): Boolean

    Does this type occur as a part of type that?

    Does this type occur as a part of type that?

    Definition Classes
    Type
  114. def orElse(that: ⇒ Type): Type

    This type, if it exists, otherwise that type

    This type, if it exists, otherwise that type

    Definition Classes
    Type
  115. final def overrides(that: Type)(implicit ctx: Context): Boolean

    Is this type a legal type for a member that overrides another member of type that? This is the same as <:<, except that the types ()T and => T are identified, and T is seen as overriding either type.

    Is this type a legal type for a member that overrides another member of type that? This is the same as <:<, except that the types ()T and => T are identified, and T is seen as overriding either type.

    Definition Classes
    Type
  116. final def paramNamess(implicit ctx: Context): List[List[TermName]]

    The parameter names of a PolyType or MethodType, Empty list for others

    The parameter names of a PolyType or MethodType, Empty list for others

    Definition Classes
    Type
  117. final def paramTypess(implicit ctx: Context): List[List[Type]]

    The parameter types of a PolyType or MethodType, Empty list for others

    The parameter types of a PolyType or MethodType, Empty list for others

    Definition Classes
    Type
  118. def parents(implicit ctx: Context): List[TypeRef]

    For a ClassInfo type, its parents, Inherited by all type proxies.

    For a ClassInfo type, its parents, Inherited by all type proxies. Empty for all other types. Overwritten in ClassInfo, where parents is cached.

    Definition Classes
    Type
  119. def parentsWithArgs(implicit ctx: Context): List[Type]

    The full parent types, including all type arguments

    The full parent types, including all type arguments

    Definition Classes
    Type
  120. def proxy: LazyType

    A proxy to this lazy type that keeps the complete operation but provides fresh slots for scope/sourceModule/moduleClass

    A proxy to this lazy type that keeps the complete operation but provides fresh slots for scope/sourceModule/moduleClass

    Definition Classes
    LazyType
  121. def relaxed_<:<(that: Type)(implicit ctx: Context): Boolean

    Definition Classes
    Type
  122. def resultType(implicit ctx: Context): Type

    The resultType of a PolyType, MethodType, or ExprType, the type itself for others

    The resultType of a PolyType, MethodType, or ExprType, the type itself for others

    Definition Classes
    Type
  123. def rootDenots(rootDenot: ClassDenotation)(implicit ctx: Context): (ClassDenotation, ClassDenotation)

  124. def safe_&(that: Type)(implicit ctx: Context): Type

    Safer version of &.

    Safer version of &.

    This version does not simplify the upper bound of the intersection of two TypeBounds. The simplification done by & requires subtyping checks which may end up calling & again, in most cases this should be safe but because of F-bounded types, this can result in an infinite loop (which will be masked unless -Yno-deep-subtypes is enabled).

    Definition Classes
    Type
  125. def select(sym: Symbol)(implicit ctx: Context): Type

    The type <this .

    The type <this . name> with given symbol, reduced if possible

    Definition Classes
    Type
  126. def select(name: Name, denot: Denotation)(implicit ctx: Context): Type

    The type <this .

    The type <this . name> , reduced if possible, with given denotation if unreduced

    Definition Classes
    Type
  127. def select(name: Name)(implicit ctx: Context): Type

    The type <this .

    The type <this . name> , reduced if possible

    Definition Classes
    Type
  128. def show(implicit ctx: Context): String

    The string representation of this showable element.

    The string representation of this showable element.

    Definition Classes
    Showable
  129. def showSummary(implicit ctx: Context): String

    Definition Classes
    Showable
  130. def showSummary(depth: Int)(implicit ctx: Context): String

    The summarized string representation of this showable element.

    The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.

    Definition Classes
    Showable
  131. def showWithUnderlying(n: Int = 1)(implicit ctx: Context): String

    Utility method to show the underlying type of a TypeProxy chain together with the proxy type itself.

    Utility method to show the underlying type of a TypeProxy chain together with the proxy type itself.

    Definition Classes
    Type
  132. def signature(implicit ctx: Context): Signature

    The signature of this type.

    The signature of this type. This is by default NotAMethod, but is overridden for PolyTypes, MethodTypes, and TermRefWithSignature types. (the reason why we deviate from the "final-method-with-pattern-match-in-base-class" pattern is that method signatures use caching, so encapsulation is improved using an OO scheme).

    Definition Classes
    Type
  133. def simplified(implicit ctx: Context): Type

    A simplified version of this type which is equivalent wrt =:= to this type.

    A simplified version of this type which is equivalent wrt =:= to this type. This applies a typemap to the type which (as all typemaps) follows type variable instances and reduces typerefs over refined types. It also re-evaluates all occurrences of And/OrType with &/| because what was a union or intersection of type variables might be a simpler type after the type variables are instantiated. Finally, it maps poly params in the current constraint set back to their type vars.

    Definition Classes
    Type
  134. def sourceFileOrNull: AbstractFile

    Definition Classes
    ClassfileLoaderSymbolLoader
  135. def sourceModule(implicit ctx: Context): Symbol

    Definition Classes
    LazyType
  136. def stripAnnots(implicit ctx: Context): Type

    Remove all AnnotatedTypes wrapping this type.

    Remove all AnnotatedTypes wrapping this type.

    Definition Classes
    Type
  137. def stripTypeVar(implicit ctx: Context): Type

    Map a TypeVar to either its instance if it is instantiated, or its origin, if not, until the result is no longer a TypeVar.

    Map a TypeVar to either its instance if it is instantiated, or its origin, if not, until the result is no longer a TypeVar. Identity on all other types.

    Definition Classes
    Type
  138. final def subst(from: BindingType, to: BindingType)(implicit ctx: Context): Type

    Substitute all types of the form PolyParam(from, N) by PolyParam(to, N).

    Substitute all types of the form PolyParam(from, N) by PolyParam(to, N).

    Definition Classes
    Type
  139. final def subst(from: List[Symbol], to: List[Type])(implicit ctx: Context): Type

    Substitute all types that refer in their symbol attribute to one of the symbols in from by the corresponding types in to.

    Substitute all types that refer in their symbol attribute to one of the symbols in from by the corresponding types in to.

    Definition Classes
    Type
  140. final def substDealias(from: List[Symbol], to: List[Type])(implicit ctx: Context): Type

    Same as subst but follows aliases as a fallback.

    Same as subst but follows aliases as a fallback. When faced with a reference to an alias type, where normal substitution does not yield a new type, the substitution is instead applied to the alias. If that yields a new type, this type is returned, otherwise the original type (not the alias) is returned. A use case for this method is if one wants to substitute the type parameters of a class and also wants to substitute any parameter accessors that alias the type parameters.

    Definition Classes
    Type
  141. final def substParam(from: ParamType, to: Type)(implicit ctx: Context): Type

    Substitute a bound type by some other type

    Substitute a bound type by some other type

    Definition Classes
    Type
  142. final def substParams(from: BindingType, to: List[Type])(implicit ctx: Context): Type

    Substitute bound types by some other types

    Substitute bound types by some other types

    Definition Classes
    Type
  143. final def substRecThis(binder: RecType, tp: Type)(implicit ctx: Context): Type

    Substitute all occurrences of RecThis(binder) by tp

    Substitute all occurrences of RecThis(binder) by tp

    Definition Classes
    Type
  144. final def substSym(from: List[Symbol], to: List[Symbol])(implicit ctx: Context): Type

    Substitute all occurrences of symbols in from by references to corresponding symbols in to

    Substitute all occurrences of symbols in from by references to corresponding symbols in to

    Definition Classes
    Type
  145. final def substThis(cls: ClassSymbol, tp: Type)(implicit ctx: Context): Type

    Substitute all occurrences of This(cls) by tp

    Substitute all occurrences of This(cls) by tp

    Definition Classes
    Type
  146. final def substThisUnlessStatic(cls: ClassSymbol, tp: Type)(implicit ctx: Context): Type

    As substThis, but only is class is a static owner (i.e.

    As substThis, but only is class is a static owner (i.e. a globally accessible object)

    Definition Classes
    Type
  147. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  148. final def termSymbol(implicit ctx: Context): Symbol

    The term symbol associated with the type

    The term symbol associated with the type

    Definition Classes
    Type
  149. def toFunctionType(dropLast: Int = 0)(implicit ctx: Context): Type

    Turn type into a function type.

    Turn type into a function type.

    dropLast

    The number of trailing parameters that should be dropped when forming the function type.

    Definition Classes
    Type
  150. def toString(): String

    Definition Classes
    Function2 → AnyRef → Any
  151. def toText(printer: Printer): Text

    Convert to text

    Convert to text

    Definition Classes
    TypeShowable
  152. def tupled: ((TermSymbol, ClassSymbol)) ⇒ LazyType

    Definition Classes
    Function2
    Annotations
    @unspecialized()
  153. final def typeMembers(implicit ctx: Context): Seq[SingleDenotation]

    The set of type members of this type

    The set of type members of this type

    Definition Classes
    Type
  154. def typeParamNamed(name: TypeName)(implicit ctx: Context): Symbol

    The type parameter with given name.

    The type parameter with given name. This tries first decls in order not to provoke a cycle by forcing the info. If that yields no symbol it tries member as an alternative.

    Definition Classes
    Type
  155. final def typeSymbol(implicit ctx: Context): Symbol

    The type symbol associated with the type

    The type symbol associated with the type

    Definition Classes
    Type
  156. def underlyingClassRef(refinementOK: Boolean)(implicit ctx: Context): Type

    If this is a (possibly aliased, annotated, and/or parameterized) reference to a class, the class type ref, otherwise NoType.

    If this is a (possibly aliased, annotated, and/or parameterized) reference to a class, the class type ref, otherwise NoType.

    refinementOK

    If true we also skip non-parameter refinements.

    Definition Classes
    Type
  157. def underlyingIfProxy(implicit ctx: Context): Type

    Useful for diagnostics: The underlying type if this type is a type proxy, otherwise NoType

    Useful for diagnostics: The underlying type if this type is a type proxy, otherwise NoType

    Definition Classes
    Type
  158. def underlyingIterator(implicit ctx: Context): Iterator[Type]

    The iterator of underlying types as long as type is a TypeProxy.

    The iterator of underlying types as long as type is a TypeProxy. Useful for diagnostics

    Definition Classes
    Type
  159. val uniqId: Int

    Definition Classes
    Type
  160. def unsupported(methodName: String): Nothing

    Throws an UnsupportedOperationException with the given method name.

    Throws an UnsupportedOperationException with the given method name.

    Definition Classes
    DotClass
  161. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  164. final def widen(implicit ctx: Context): Type

    Widen from singleton type to its underlying non-singleton base type by applying one or more underlying dereferences, Also go from => T to T.

    Widen from singleton type to its underlying non-singleton base type by applying one or more underlying dereferences, Also go from => T to T. Identity for all other types. Example:

    class Outer { class C ; val x: C } def o: Outer <o.x.type>.widen = o.C

    Definition Classes
    Type
  165. final def widenDealias(implicit ctx: Context): Type

    Perform successive widenings and dealiasings until none can be applied anymore

    Perform successive widenings and dealiasings until none can be applied anymore

    Definition Classes
    Type
  166. final def widenExpr: Type

    Widen from ExprType type to its result type.

    Widen from ExprType type to its result type. (Note: no stripTypeVar needed because TypeVar's can't refer to ExprTypes.)

    Definition Classes
    Type
  167. final def widenIfUnstable(implicit ctx: Context): Type

    Widen type if it is unstable (i.e.

    Widen type if it is unstable (i.e. an ExprType, or TermRef to unstable symbol

    Definition Classes
    Type
  168. final def widenSingleton(implicit ctx: Context): Type

    Widen from singleton type to its underlying non-singleton base type by applying one or more underlying dereferences.

    Widen from singleton type to its underlying non-singleton base type by applying one or more underlying dereferences.

    Definition Classes
    Type
  169. final def widenSkolem(implicit ctx: Context): Type

    If this is a skolem, its underlying type, otherwise the type itself

    If this is a skolem, its underlying type, otherwise the type itself

    Definition Classes
    Type
  170. final def widenTermRefExpr(implicit ctx: Context): Type

    Widen from TermRef to its underlying non-termref base type, while also skipping Expr types.

    Widen from TermRef to its underlying non-termref base type, while also skipping Expr types.

    Definition Classes
    Type
  171. def withDecls(decls: Scope): ClassfileLoader.this.type

    Definition Classes
    LazyType
  172. def withModuleClass(moduleClassFn: (Context) ⇒ Symbol): ClassfileLoader.this.type

    Definition Classes
    LazyType
  173. def withSourceModule(sourceModuleFn: (Context) ⇒ Symbol): ClassfileLoader.this.type

    Definition Classes
    LazyType
  174. def |(that: Type)(implicit ctx: Context): Type

    Definition Classes
    Type

Inherited from SymbolLoader

Inherited from LazyType

Inherited from (TermSymbol, ClassSymbol) ⇒ LazyType

Inherited from (Symbol) ⇒ LazyType

Inherited from UncachedGroundType

Inherited from Type

Inherited from Showable

Inherited from Hashable

Inherited from DotClass

Inherited from AnyRef

Inherited from Any

Ungrouped