public object Visit(IAbstractSyntaxNode node) { var methodName = $"Visit{node.GetType().Name}"; var type = this.GetType(); var methodInfo = type.GetMethod(methodName); return(methodInfo.Invoke(this, new object[] { node })); }
public BinaryOperatorNode(IAbstractSyntaxNode left, Token op, IAbstractSyntaxNode right) { this.Left = left; this.token = this.Op = op; this.Right = right; }