Function ASTVisitor.dynamicDispatch
Looks at the runtime type of n, then calls the appropriate visit
method at runtime.
void dynamicDispatch(
const(ExpressionNode) n
);
void dynamicDispatch(
const(InterpolatedStringPart) n
);
Rule of thumb: when the type is an abstract class, use dynamicDispatch,
otherwise use visit.
For templated calls:
static if (__traits(isAbstractClass, typeof(node)))
visitor .dynamicDispatch(node);
else
visitor .visit(node);