A memoised entity that weakly holds onto its keys and uses identity to compare them.
A memoised entity that weakly holds onto its keys and uses identity to compare them.
A memoised entity that uses equality to compare keys.
A memoised entity that uses equality to compare keys.
Common interface for encapsulation of memoisation for a single memoised entity backed by a configurable cache.
Common interface for encapsulation of memoisation for a single memoised entity backed by a configurable cache.
Map between a value and a source code position.
Set the start and finish positions of t
to the positions of a
if it has them.
Set the start and finish positions of t
to the positions of a
if it has them. Return t
.
Get the finish position of t
.
Get the finish position of t
. If it doesn't have one, return
NoPosition
.
Get the start position of t
.
Get the start position of t
. If it doesn't have one, return
NoPosition
.
Get the start whitespace position of t
.
Get the start whitespace position of t
. If it doesn't have
one, return NoPosition
.
Return a position value with starting position given by line l
,
column c
and empty line contents.
Return a position value with starting position given by line l
,
column c
and empty line contents. This method is most useful
for testing low-level messages and is not normally be needed in
application code.
Lazily reset all memoisation tables.
Lazily reset all memoisation tables. The actual resets will only happen the next time the value of each attribute is accessed.
Set the finish
position of t
to p
if it has not already been set.
Set the start position of t
to p
if it has not already been set.
Set the start whitespace position of t
to p
if it has not
already been set.
Get the source text associated with the subsequence of a source between given starting and finishing offset positions.
Get the source text associated with the subsequence of a source between given starting and finishing offset positions. The two positions are assumed to reference the same source.
Record of source positions that correspond to program elements.