public virtual object Visit(Node node, TData data) { IdentifierNode identifierNode = node as IdentifierNode; if (identifierNode != null) { return(VisitIdentifier(identifierNode, data)); } InvocationNode invocationNode = node as InvocationNode; if (invocationNode != null) { return(VisitInvocationNode(invocationNode, data)); } NodeList <Node> nodeList = node as NodeList <Node>; if (nodeList != null) { return(VisitNodeList(nodeList, data)); } LiteralNode literalNode = node as LiteralNode; if (literalNode != null) { return(VisitLiteral(literalNode, data)); } throw new NotImplementedException(); }
public virtual object VisitLiteral(LiteralNode literalNode, TData data) { return(literalNode.Value); }