A non-overloaded denotation
Constructors
Members
The next SingleDenotation in this run, with wrap-around from last to first.
There may be several SingleDenotation
s with different validity
representing...
The next SingleDenotation in this run, with wrap-around from last to first.
There may be several SingleDenotation
s with different validity
representing the same underlying definition at different phases.
These are called a "flock". Flock members are generated by
The denotation made up from the alternatives of this denotation that
are accessible from prefix pre
, or NoDenotation if no accessible alternative exist...
The denotation made up from the alternatives of this denotation that
are accessible from prefix pre
, or NoDenotation if no accessible alternative exists.
The alternatives of this denotation that satisfy the predicate p
.
The alternatives of this denotation that satisfy the predicate p
.
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
.
Move validity period of this denotation to a new run. Throw a StaleSymbol error if denotation is no longer valid.
Move validity period of this denotation to a new run. Throw a StaleSymbol error if denotation is no longer valid.
Group contains a denotation that refers to given symbol
Group contains a denotation that refers to given symbol
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.
Produce a denotation that is valid for the given context. Usually called when !(validFor contains ctx.period) (even though this is not a precondition). I...
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.
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
.
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
.
Keep only those denotations in this group which satisfy predicate p
.
Keep only those denotations in this group which satisfy predicate p
.
First/last denotation in the group
First/last denotation in the group
Does this denotation have an alternative that satisfies the predicate p
?
Does this denotation have an alternative that satisfies the predicate p
?
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.
Insert this denotation so that it follows prev
.
Insert this denotation so that it follows prev
.
Insert this denotation instead of old
.
Also ensure that old
refers with nextInRun
to this denotation
and set its validFor
field to NoWhere
. This is nece...
Insert this denotation instead of old
.
Also ensure that old
refers with nextInRun
to this denotation
and set its validFor
field to NoWhere
. This is necessary so that
references to the old denotation can be brought forward via current
to a valid denotation.
The code to achieve this is subtle in that it works correctly whether the replaced denotation is the only one in its cycle or not.
Install this denotation to be the result of the given denotation transformer. This is the implementation of the same-named method in SymDenotations. It'...
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.
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
A denotation with the info of this denotation transformed using f
A denotation with the info of this denotation transformed using f
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...
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.
Group contains a denotation with given signature
Group contains a denotation with given signature
The NamedType representing this denotation at its original location.
Same as either typeRef
or termRefWithSig
depending whether this denotes a type or...
The NamedType representing this denotation at its original location.
Same as either typeRef
or termRefWithSig
depending whether this denotes a type or not.
The next defined denotation (following nextInRun
) or an arbitrary
undefined denotation, if all denotations in a nextinRun
cycle are
undefined.
The next defined denotation (following nextInRun
) or an arbitrary
undefined denotation, if all denotations in a nextinRun
cycle are
undefined.
The next SingleDenotation in this run, with wrap-around from last to first.
There may be several SingleDenotation
s with different validity
representing...
The next SingleDenotation in this run, with wrap-around from last to first.
There may be several SingleDenotation
s with different validity
representing the same underlying definition at different phases.
These are called a "flock". Flock members are generated by
Show declaration string; useful for showing declarations as seen from subclasses.
Show declaration string; useful for showing declarations as seen from subclasses.
The signature of the denotation.
The signature of the denotation.
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.
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.
The TermRef representing this term denotation at its original location.
The TermRef representing this term denotation at its original location.
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.
Convert to full denotation by &-ing all elements
Convert to full denotation by &-ing all elements
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...
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.
The TypeRef representing this type denotation at its original location.
The TypeRef representing this type denotation at its original location.
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
.
The period during which this denotation is valid.
The period during which this denotation is valid.