Forest of "prune trees" where a prune tree is a location that can be pruned with a tree of descendants that must be excluded from the pruning.
Internally we store this as a single tree of booleans with the following characteristics: * 'true' indicates a location that can be pruned, possibly with some excluded descendants. * 'false' indicates a location that we should keep (i.e. exclude from pruning). * 'true' (prune) cannot be a descendant of 'false' (keep). This will trigger an exception. * 'true' cannot be a descendant of 'true' (we'll just keep the more shallow 'true'). * 'false' cannot be a descendant of 'false' (we'll just keep the more shallow 'false').
| boolean |
affectsPath(Path path)
|
| PruneForest | |
| PruneForest | |
| boolean | |
| <T> T | |
| int |
hashCode()
|
| PruneForest | |
| PruneForest | |
| PruneForest | |
| PruneForest | |
| boolean | |
| boolean |
shouldKeep(Path path)
|
| boolean |
shouldPruneUnkeptDescendants(Path path)
Indicates that path is marked for pruning, so anything below it that didn't have keep() called
on it should be pruned.
|
| String |
toString()
|
| startValue | |
|---|---|
| treeVisitor |
Indicates that path is marked for pruning, so anything below it that didn't have keep() called on it should be pruned.
| path | The path in question |
|---|