public abstract class TreeScanner
Abstract class that scans part of a node tree.
Takes a node argument, and writes matching "relative" nodes
out to a PositionConsumer as a sequence of position pairs.
This is uses to implement "path expressions" as in XPath/XSLT/XQuery.
For example, the ChildAxis sub-class writes out all child nodes
of the argument that match the 'type' NodePredicate.
We use a single virtual function to reduce the number of methods
in the system, as well as the number of virtual method table entries.
We shift by 12 so the number can normally be represented using a
sipush instruction, without requiring a constant pool entry.