Closed krame505 closed 1 year ago
Turns out that checking for a cycle on every thunk is actually more efficient than doing it for syn/inh accesses on DecoratedNode. This should also catch cycles that don't involve attribute accesses (e.g. local x::Expr = neg(x);
.)
Changes
This tracks whether an attribute has been demanded on a
DecoratedNode
, to immediately report an error when encountering a cycle, rather than crashing with aStackOverflowError
.Documentation
Added doc comments.