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.
Has the value of this attribute at t already been computed or not?
If the table contains Some (u) then we've compute it and the value
was u.
Has the value of this attribute at t already been computed or not?
If the table contains Some (u) then we've compute it and the value
was u. If the memo table contains None we are in the middle of
computing it. Otherwise the memo table contains no entry for t.
The memo table as an identity hash map.
The memo table as an identity hash map.
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.
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
Twith value of typeU, supported by a memo table and circularity test. The value of the attribute is computed by the functionf. The result is memoised so that it is only evaluated once.fshould not itself require the value of this attribute. If it does, a circularity error is reported by throwing anIllegalStateException.