/// <summary> /// Visit StoreValueFunction node. /// </summary> /// <param name="node">StoreValueFunction node of AST.</param> public void Visit(CallFunctionAndStoreValueNode node) { foreach (var item in node.Descendants.Reverse()) { item.Accept(this); } node.Accept(_visitor); }
/// <summary> /// Call function and store it's value. /// </summary> /// <param name="node"></param> public void Visit(CallFunctionAndStoreValueNode node) { Visit(node, out MethodInfo methodInfo); switch (node.ReturnType.Name) { case nameof(DateTimeOffset): Instructions.Add(new CopyAndStoreValue <DateTimeOffset>(methodInfo, x => x.Datetimes.Peek())); break; default: Instructions.Add(new CopyAndStoreValue <long>(methodInfo, x => x.Values.Peek())); break; } }
public override void Visit(CallFunctionAndStoreValueNode node) { }
/// <summary> /// Visit StoreValueFunction node. /// </summary> /// <param name="node">StoreValueFunction node of AST.</param> public abstract void Visit(CallFunctionAndStoreValueNode node);
public void Visit(CallFunctionAndStoreValueNode node) { }