Beispiel #1
0
        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();
        }
Beispiel #2
0
 public virtual object VisitLiteral(LiteralNode literalNode, TData data)
 {
     return(literalNode.Value);
 }