I think your right about the names being confusing.  TreeVisitor should be VisitorBase which is the abstract class with only function signatures no code.

Visitor has all the code for walking the tree and then emitters or other visitors will override some functions (in some emitter classes like the pretty printer all functions are overrided).