Return the value of this attribute for node t
, raising an error if
it depends on itself.
Return the value of this attribute for node t
, raising an error if
it depends on itself.
Duplicate an entry if possible.
Duplicate an entry if possible. If t1
has a memoised value associated
with it, set the value associated with t2
to the same value. If there
is no value associated with t1
, set the value associated with t2
to
u
.
Return the value stored at key t
as an option.
Return the value stored at key t
as an option.
Return the value stored at key t
if there is one, otherwise
return u
.
Return the value stored at key t
if there is one, otherwise
return u
.
Has the value of this attribute at t
already been computed or not?
By default, does the memo table contain a value for t
?
Has the value of this attribute at t
already been computed or not?
By default, does the memo table contain a value for t
?
The memo table.
The memo table.
Store the value u
under the key t
.
Store the value u
under the key t
.
Store the value u
under the key t
if t
does not already have an
associated value.
Store the value u
under the key t
if t
does not already have an
associated value.
Report a cycle in the calculation of this attribute discovered when
evaluating the attribute on value t
.
Report a cycle in the calculation of this attribute discovered when
evaluating the attribute on value t
. Throws an IllegalStateException
.
Immediately reset the memo table.
Immediately reset the memo table.
Immediately reset the memo table at t
.
Immediately reset the memo table at t
.
Check to see if a reset has been requested via the common memo version, and if so, do it.
Check to see if a reset has been requested via the common memo version, and if so, do it.
The attribute's string representation is its name.
The attribute's string representation is its name.
An attribute of a node type
T
with value of typeU
, supported by a circularity test. The value of the attribute is computed by the functionf
.f
will be called each time the value of the attribute is accessed.f
should not itself require the value of this attribute. If it does, a circularity error is reported by throwing anIllegalStateException
.