public ParameterNode(ParameterNode n) { ParentIndex = -1; Index = 0; Level = 0; ChildCount = 0; Name = n.Name; Value = n.Value; Complex = n.Complex; ComplexEnd = n.ComplexEnd; }
public int add(int i, ParameterNode n) { int p = -1; if (i < 0) { p = mNodes.Count; n.ParentIndex = -1; n.Index = p; n.Level = 0; n.ChildCount = 0; mNodes.Add(n); } else if (i < mNodes.Count) { p = i + ((ParameterNode)mNodes[i]).ChildCount + 1; n.ParentIndex = i; n.Index = p; n.Level = ((ParameterNode)mNodes[i]).Level + 1; n.ChildCount = 0; if (p >= mNodes.Count) mNodes.Add(n); else { mNodes.Insert(p, n); updateNodes(p+1); } updateCount(i, 1); } return p; }