DenotUnion

dotty.tools.dotc.core.Denotations.DenotUnion
final case class DenotUnion(denot1: PreDenotation, denot2: PreDenotation) extends MultiPreDenotation

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Type members

Value members

Concrete methods

Group contains a denotation that refers to given symbol

Group contains a denotation that refers to given symbol

Attributes

A denotation in the group exists

A denotation in the group exists

Attributes

def toDenot(pre: Type)(using Context): Denotation

Convert to full denotation by &-ing all elements

Convert to full denotation by &-ing all elements

Attributes

Inherited methods

def aggregate[T](f: SingleDenotation => T, g: (T, T) => T): T

Map f over all single denotations and aggregate the results with g.

Map f over all single denotations and aggregate the results with g.

Attributes

Inherited from:
MultiPreDenotation

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

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

Attributes

Inherited from:
PreDenotation
protected def derivedUnion(denot1: PreDenotation, denot2: PreDenotation): PreDenotation

Attributes

Inherited from:
MultiPreDenotation

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.

Attributes

Inherited from:
MultiPreDenotation
def filterWithFlags(required: FlagSet, excluded: FlagSet)(using Context): PreDenotation

Keep only those denotations in this group that have all of the flags in required, but none of the flags in excluded.

Keep only those denotations in this group that have all of the flags in required, but none of the flags in excluded.

Attributes

Inherited from:
MultiPreDenotation

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

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

Attributes

Inherited from:
MultiPreDenotation

First/last denotation in the group

First/last denotation in the group

Attributes

Inherited from:
MultiPreDenotation

Attributes

Inherited from:
MultiPreDenotation
def mapInherited(owndenot: PreDenotation, prevdenot: PreDenotation, pre: Type)(using Context): PreDenotation

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.

Attributes

Inherited from:
MultiPreDenotation
def matches(other: SingleDenotation)(using Context): Boolean

Group contains a denotation with the same signature as other

Group contains a denotation with the same signature as other

Attributes

Inherited from:
MultiPreDenotation

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

The union of two groups.

The union of two groups.

Attributes

Inherited from:
PreDenotation