Destroy starts at the leaves and walk up the graph, destroying readers/writers & operators as they are encountered.
If a writer is encountered with multiple readers only the currently destroyed reader is removed and the walk stops. This would be the case if the graph was forked --
Adds an explicit
destroy
method toStatement
.Destroy starts at the leaves and walk up the graph, destroying readers/writers & operators as they are encountered.
If a writer is encountered with multiple readers only the currently destroyed reader is removed and the walk stops. This would be the case if the graph was forked --
Destroying p2 does not destroy p1. Destroying p3 sometime later would destroy p1.