dotty.tools.dotc.core.Denotations

MissingRef

Related Doc: package Denotations

case class MissingRef(owner: SingleDenotation, name: Name)(implicit ctx: Context) extends ErrorDenotation with Product with Serializable

An error denotation that provides more info about the missing reference. Produced by staticRef, consumed by requiredSymbol.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MissingRef
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ErrorDenotation
  7. NonSymSingleDenotation
  8. SingleDenotation
  9. PreDenotation
  10. Denotation
  11. Showable
  12. DotClass
  13. AnyRef
  14. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MissingRef(owner: SingleDenotation, name: Name)(implicit ctx: Context)

Type Members

  1. type AsSeenFromResult = SingleDenotation

    Definition Classes
    SingleDenotationPreDenotation

Value Members

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

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

    Definition Classes
    AnyRef → Any
  3. def &(that: Denotation, pre: Type, safeIntersection: Boolean = false)(implicit ctx: Context): Denotation

    Form a denotation by conjoining with denotation that.

    Form a denotation by conjoining with denotation that.

    NoDenotations are dropped. MultiDenotations are handled by merging parts with same signatures. SingleDenotations with equal signatures are joined as follows:

    In a first step, consider only those denotations which have symbols that are accessible from prefix pre.

    If there are several such denotations, try to pick one by applying the following three precedence rules in decreasing order of priority:

    1. Prefer denotations with more specific infos. 2. If infos are equally specific, prefer denotations with concrete symbols over denotations with abstract symbols. 3. If infos are equally specific and symbols are equally concrete, prefer denotations with symbols defined in subclasses over denotations with symbols defined in proper superclasses.

    If there is exactly one (preferred) accessible denotation, return it.

    If there is no preferred accessible denotation, return a JointRefDenotation with one of the operand symbols (unspecified which one), and an info which is the intersection (using & or safe_& if safeIntersection is true) of the infos of the operand denotations.

    If SingleDenotations with different signatures are joined, return NoDenotation.

    Definition Classes
    Denotation
  4. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  5. def accessibleFrom(pre: Type, superAccess: Boolean)(implicit ctx: Context): Denotation

    The denotation made up from the alternatives of this denotation that are accessible from prefix pre, or NoDenotation if no accessible alternative exists.

    The denotation made up from the alternatives of this denotation that are accessible from prefix pre, or NoDenotation if no accessible alternative exists.

    Definition Classes
    SingleDenotationDenotation
  6. final def alternatives: List[SingleDenotation]

    The set of alternative single-denotations making up this denotation

    The set of alternative single-denotations making up this denotation

    Definition Classes
    Denotation
  7. def altsWith(p: (Symbol) ⇒ Boolean): List[SingleDenotation]

    The alternatives of this denotation that satisfy the predicate p.

    The alternatives of this denotation that satisfy the predicate p.

    Definition Classes
    SingleDenotationDenotation
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. final def asSeenFrom(pre: Type)(implicit ctx: Context): AsSeenFromResult

    The denotation with info(s) as seen from prefix type

    The denotation with info(s) as seen from prefix type

    Definition Classes
    PreDenotation
  10. final def asSingleDenotation: SingleDenotation

    Definition Classes
    Denotation
  11. final def asSymDenotation: SymDenotation

    Definition Classes
    Denotation
  12. def atSignature(sig: Signature, site: Type, relaxed: Boolean)(implicit ctx: Context): SingleDenotation

    Resolve overloaded denotation to pick the ones with the given signature when seen from prefix site.

    Resolve overloaded denotation to pick the ones with the given signature when seen from prefix site.

    relaxed

    When true, consider only parameter signatures for a match.

    Definition Classes
    SingleDenotationDenotation
  13. def checkUnique(implicit ctx: Context): SingleDenotation

    If this is a SingleDenotation, return it, otherwise throw a TypeError

    If this is a SingleDenotation, return it, otherwise throw a TypeError

    Definition Classes
    Denotation
  14. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def computeAsSeenFrom(pre: Type)(implicit ctx: Context): SingleDenotation

    Attributes
    protected
    Definition Classes
    SingleDenotationPreDenotation
  16. final def containsSym(sym: Symbol): Boolean

    Group contains a denotation that refers to given symbol

    Group contains a denotation that refers to given symbol

    Definition Classes
    SingleDenotationPreDenotation
  17. def coveredInterval(implicit ctx: Context): Period

    The period (interval of phases) for which there exists a valid denotation in this flock.

    The period (interval of phases) for which there exists a valid denotation in this flock.

    Definition Classes
    SingleDenotation
  18. def current(implicit ctx: Context): SingleDenotation

    Produce a denotation that is valid for the given context.

    Produce a denotation that is valid for the given context. Usually called when !(validFor contains ctx.period) (even though this is not a precondition). If the runId of the context is the same as runId of this denotation, the right flock member is located, or, if it does not exist yet, created by invoking a transformer (@See Transformers). If the runId's differ, but this denotation is a SymDenotation and its toplevel owner class or module is still a member of its enclosing package, then the whole flock is brought forward to be valid in the new runId. Otherwise the symbol is stale, which constitutes an internal error.

    Definition Classes
    SingleDenotationDenotation
  19. def definedPeriodsString: String

    Definition Classes
    SingleDenotation
  20. def derivedSingleDenotation(symbol: Symbol, info: Type)(implicit ctx: Context): SingleDenotation

    Definition Classes
    SingleDenotation
  21. def disambiguate(p: (Symbol) ⇒ Boolean)(implicit ctx: Context): SingleDenotation

    If this denotation is overloaded, filter with given predicate.

    If this denotation is overloaded, filter with given predicate. If result is still overloaded throw a TypeError. Note: disambiguate is slightly different from suchThat in that single-denotations that do not satisfy the predicate are left alone (whereas suchThat would map them to NoDenotation).

    Definition Classes
    Denotation
  22. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. val ex: Exception

  24. def exists: Boolean

    A denotation in the group exists

    A denotation in the group exists

    Definition Classes
    ErrorDenotationPreDenotationDenotation
  25. 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
  26. final def filterDisjoint(denots: PreDenotation)(implicit ctx: Context): SingleDenotation

    Keep only those denotations in this group which have a signature that's not already defined by denots.

    Keep only those denotations in this group which have a signature that's not already defined by denots.

    Definition Classes
    SingleDenotationPreDenotation
  27. final def filterExcluded(excluded: FlagSet)(implicit ctx: Context): SingleDenotation

    Keep only those denotations in this group whose flags do not intersect with excluded.

    Keep only those denotations in this group whose flags do not intersect with excluded.

    Definition Classes
    SingleDenotationPreDenotation
  28. final def filterWithPredicate(p: (SingleDenotation) ⇒ Boolean): SingleDenotation

    Keep only those denotations in this group which satisfy predicate p.

    Keep only those denotations in this group which satisfy predicate p.

    Definition Classes
    SingleDenotationPreDenotation
  29. def finalize(): Unit

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

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

    Find member of this denotation 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
    Denotation
  31. final def first: SingleDenotation

    First/last denotation in the group

    First/last denotation in the group

    Definition Classes
    SingleDenotationPreDenotation
  32. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  33. def hasAltWith(p: (SingleDenotation) ⇒ Boolean): Boolean

    Does this denotation have an alternative that satisfies the predicate p?

    Does this denotation have an alternative that satisfies the predicate p?

    Definition Classes
    SingleDenotationDenotation
  34. def hasUniqueSym: Boolean

    Definition Classes
    ErrorDenotationSingleDenotation
  35. def history: List[SingleDenotation]

    Definition Classes
    SingleDenotation
  36. def info(implicit ctx: Context): Type

    The type info of the denotation, exists only for non-overloaded denotations

    The type info of the denotation, exists only for non-overloaded denotations

    Definition Classes
    NonSymSingleDenotationDenotation
  37. def infoOrCompleter: NoType.type

    The type info, or, if this is a SymDenotation where the symbol is not yet completed, the completer

    The type info, or, if this is a SymDenotation where the symbol is not yet completed, the completer

    Definition Classes
    ErrorDenotationNonSymSingleDenotationDenotation
  38. def initial: SingleDenotation

    The version of this SingleDenotation that was valid in the first phase of this run.

    The version of this SingleDenotation that was valid in the first phase of this run.

    Definition Classes
    SingleDenotation
  39. def installAfter(phase: DenotTransformer)(implicit ctx: Context): Unit

    Install this denotation to be the result of the given denotation transformer.

    Install this denotation to be the result of the given denotation transformer. This is the implementation of the same-named method in SymDenotations. It's placed here because it needs access to private fields of SingleDenotation.

    Attributes
    protected
    Definition Classes
    SingleDenotation
  40. def invalidateInheritedInfo(): Unit

    Invalidate all caches and fields that depend on base classes and their contents

    Invalidate all caches and fields that depend on base classes and their contents

    Definition Classes
    SingleDenotation
  41. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  42. final def isOverloaded: Boolean

    Is this denotation overloaded?

    Is this denotation overloaded?

    Definition Classes
    Denotation
  43. def isTerm: Boolean

    Is this a reference to a term symbol?

    Is this a reference to a term symbol?

    Definition Classes
    Denotation
  44. def isType: Boolean

    Is this a reference to a type symbol?

    Is this a reference to a type symbol?

    Definition Classes
    NonSymSingleDenotationDenotation
  45. final def last: SingleDenotation

    Definition Classes
    SingleDenotationPreDenotation
  46. def mapInfo(f: (Type) ⇒ Type)(implicit ctx: Context): SingleDenotation

    A denotation with the info of this denotation transformed using f

    A denotation with the info of this denotation transformed using f

    Definition Classes
    SingleDenotationDenotation
  47. def mapInherited(ownDenots: PreDenotation, prevDenots: PreDenotation, pre: Type)(implicit ctx: Context): SingleDenotation

    Keep only those inherited members M of this predenotation for which the following is true

    Keep only those inherited members M of this predenotation for which the following is true

    • M is not marked Private
    • If M has a unique symbol, it does not appear in prevDenots.
    • M's signature as seen from prefix pre does not appear in ownDenots Return the denotation as seen from pre. Called from SymDenotations.computeMember. There, ownDenots are the denotations found in the base class, which shadow any inherited denotations with the same signature. prevDenots are the denotations that are defined in the class or inherited from a base type which comes earlier in the linearization.
    Definition Classes
    SingleDenotationPreDenotation
  48. final def matches(other: SingleDenotation)(implicit ctx: Context): Boolean

    Group contains a denotation with given signature

    Group contains a denotation with given signature

    Definition Classes
    SingleDenotationPreDenotation
  49. def matchingDenotation(site: Type, targetType: Type)(implicit ctx: Context): SingleDenotation

    The alternative of this denotation that has a type matching targetType when seen as a member of type site, NoDenotation if none exists.

    The alternative of this denotation that has a type matching targetType when seen as a member of type site, NoDenotation if none exists.

    Definition Classes
    Denotation
  50. def mergeNames[N <: Name](names1: List[N], names2: List[N], syntheticName: (Int) ⇒ N): List[N]

    Merge two lists of names.

    Merge two lists of names. If names in corresponding positions match, keep them, otherwise generate new synthetic names.

    Definition Classes
    Denotation
  51. val name: Name

  52. def namedType(implicit ctx: Context): NamedType

    The NamedType representing this denotation at its original location.

    The NamedType representing this denotation at its original location. Same as either typeRef or termRefWithSig depending whether this denotes a type or not.

    Definition Classes
    SingleDenotation
  53. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  54. def newLikeThis(s: Symbol, i: Type): SingleDenotation

    Attributes
    protected
    Definition Classes
    ErrorDenotationSingleDenotation
  55. var nextInRun: SingleDenotation

    The next SingleDenotation in this run, with wrap-around from last to first.

    The next SingleDenotation in this run, with wrap-around from last to first.

    There may be several SingleDenotations with different validity representing the same underlying definition at different phases. These are called a "flock". Flock members are generated by

    Attributes
    protected
    Definition Classes
    SingleDenotation
  56. final def notify(): Unit

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

    Definition Classes
    AnyRef
  58. def orElse(that: ⇒ SingleDenotation): SingleDenotation

    Definition Classes
    SingleDenotation
  59. final def orElse(that: ⇒ Denotation): Denotation

    If this denotation does not exist, fallback to alternative

    If this denotation does not exist, fallback to alternative

    Definition Classes
    Denotation
  60. val owner: SingleDenotation

  61. def requiredClass(name: PreName)(implicit ctx: Context): ClassSymbol

    Definition Classes
    Denotation
  62. def requiredMethod(name: PreName, argTypes: List[Type])(implicit ctx: Context): TermSymbol

    Definition Classes
    Denotation
  63. def requiredMethod(name: PreName)(implicit ctx: Context): TermSymbol

    Definition Classes
    Denotation
  64. def requiredMethodRef(name: PreName, argTypes: List[Type])(implicit ctx: Context): TermRef

    Definition Classes
    Denotation
  65. def requiredMethodRef(name: PreName)(implicit ctx: Context): TermRef

    Definition Classes
    Denotation
  66. def requiredSymbol(p: (Symbol) ⇒ Boolean, source: AbstractFile = null, generateStubs: Boolean = true)(implicit ctx: Context): Symbol

    Return symbol in this denotation that satisfies the given predicate.

    Return symbol in this denotation that satisfies the given predicate. if generateStubs is specified, return a stubsymbol if denotation is a missing ref. Throw a TypeError if predicate fails to disambiguate symbol or no alternative matches.

    Definition Classes
    Denotation
  67. def requiredValue(name: PreName)(implicit ctx: Context): TermSymbol

    Definition Classes
    Denotation
  68. def requiredValueRef(name: PreName)(implicit ctx: Context): TermRef

    Definition Classes
    Denotation
  69. def show(implicit ctx: Context): String

    The string representation of this showable element.

    The string representation of this showable element.

    Definition Classes
    Showable
  70. def showDcl(implicit ctx: Context): String

    Show declaration string; useful for showing declarations as seen from subclasses.

    Show declaration string; useful for showing declarations as seen from subclasses.

    Definition Classes
    SingleDenotation
  71. def showSummary(implicit ctx: Context): String

    Definition Classes
    Showable
  72. 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
  73. final def signature(implicit ctx: Context): Signature

    The signature of the denotation.

    The signature of the denotation.

    Definition Classes
    SingleDenotationDenotation
  74. def staleSymbolError(implicit ctx: Context): Nothing

    Definition Classes
    SingleDenotation
  75. def suchThat(p: (Symbol) ⇒ Boolean)(implicit ctx: Context): SingleDenotation

    The unique alternative of this denotation that satisfies the predicate p, or NoDenotation if no satisfying alternative exists.

    The unique alternative of this denotation that satisfies the predicate p, or NoDenotation if no satisfying alternative exists.

    Definition Classes
    SingleDenotationDenotation
    Exceptions thrown

    TypeError if there is at more than one alternative that satisfies p.

  76. val symbol: Symbol

    The referencing symbol, or NoSymbol is none exists

    The referencing symbol, or NoSymbol is none exists

    Definition Classes
    Denotation
  77. def syncWithParents(implicit ctx: Context): SingleDenotation

    For ClassDenotations only: If caches influenced by parent classes are still valid, the denotation itself, otherwise a freshly initialized copy.

    For ClassDenotations only: If caches influenced by parent classes are still valid, the denotation itself, otherwise a freshly initialized copy.

    Definition Classes
    SingleDenotation
  78. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  79. def termRef(implicit ctx: Context): TermRef

    The TermRef representing this term denotation at its original location.

    The TermRef representing this term denotation at its original location.

    Definition Classes
    SingleDenotation
  80. def termRefWithSig(implicit ctx: Context): TermRef

    The TermRef representing this term denotation at its original location at the denotation's signature.

    The TermRef representing this term denotation at its original location at the denotation's signature.

    Definition Classes
    SingleDenotation
    Note

    Unlike valRef and termRef, this will force the completion of the denotation via a call to info.

  81. final def toDenot(pre: Type)(implicit ctx: Context): Denotation

    Convert to full denotation by &-ing all elements

    Convert to full denotation by &-ing all elements

    Definition Classes
    SingleDenotationPreDenotation
  82. def toString(): String

    Definition Classes
    SingleDenotation → AnyRef → Any
  83. def toText(printer: Printer): Text

    The text representation of this showable element.

    The text representation of this showable element. This normally dispatches to a pattern matching method in Printers.

    Definition Classes
    DenotationShowable
  84. def transformAfter(phase: DenotTransformer, f: (SymDenotation) ⇒ SymDenotation)(implicit ctx: Context): Unit

    Apply a transformation f to all denotations in this group that start at or after given phase.

    Apply a transformation f to all denotations in this group that start at or after given phase. Denotations are replaced while keeping the same validity periods.

    Attributes
    protected
    Definition Classes
    SingleDenotation
  85. def typeRef(implicit ctx: Context): TypeRef

    The TypeRef representing this type denotation at its original location.

    The TypeRef representing this type denotation at its original location.

    Definition Classes
    SingleDenotation
  86. def union(that: PreDenotation): PreDenotation

    The union of two groups.

    The union of two groups.

    Definition Classes
    PreDenotation
  87. def unsupported(methodName: String): Nothing

    Throws an UnsupportedOperationException with the given method name.

    Throws an UnsupportedOperationException with the given method name.

    Definition Classes
    DotClass
  88. def valRef(implicit ctx: Context): TermRef

    The TermRef representing this term denotation at its original location and at signature NotAMethod.

    The TermRef representing this term denotation at its original location and at signature NotAMethod.

    Definition Classes
    SingleDenotation
  89. def validFor: Period

    The period during which this denotation is valid.

    The period during which this denotation is valid.

    Definition Classes
    SingleDenotationDenotation
  90. def validFor_=(p: Period): Unit

    Definition Classes
    SingleDenotation
  91. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  94. def |(that: Denotation, pre: Type)(implicit ctx: Context): Denotation

    Form a choice between this denotation and that one.

    Form a choice between this denotation and that one.

    pre

    The prefix type of the members of the denotation, used to determine an accessible symbol if it exists.

    Definition Classes
    Denotation

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ErrorDenotation

Inherited from NonSymSingleDenotation

Inherited from SingleDenotation

Inherited from PreDenotation

Inherited from Denotation

Inherited from Showable

Inherited from DotClass

Inherited from AnyRef

Inherited from Any

Ungrouped