public override void CopyFrom(YqlNode source) { base.CopyFrom(source); var castedSource = (YqlOperationNode)source; Operation = castedSource.Operation; Args.Clear(); Args.AddRange(castedSource.Args.Select(x => x.Clone())); }
protected override void LoadXmlElement(XElement element) { // As a special case, YqlOperationNode defines an XML element for each operation Operation = (YqlOperation)Enum.Parse(typeof(YqlOperation), element.Name.ToString()); Debug.Assert(Args.Count == 0); foreach (XElement childElement in element.Elements()) { Args.Add(LoadFromXml(childElement)); } }
public YqlOperationNode(YqlOperation operation, params YqlNode[] args) { this.Operation = operation; this.Args.AddRange(args); }