public XPathExpr GetGroupMembers(PSMComponent component, bool useCurrentInstanceVariable) { List <PSMComponent> groupMembers = new List <PSMComponent>(); AddGroupMembersRecursive(component, ref groupMembers); List <XPathExpr> result = new List <XPathExpr>(); foreach (PSMComponent psmComponent in groupMembers) { if (!psmComponent.ExistsInVersion(this.OldVersion)) { continue; } result.Add(this.GetRelativeXPath(psmComponent, useCurrentInstanceVariable)); } if (result.Count == 0) { return(new XPathExpr("()")); } else { return(XPathExpr.ConcatWithPipeOperator(result)); } }
public XPathExpr GetGroupDistinguisher(IEnumerable <PSMComponent> expandedReference) { IEnumerable <XPathExpr> result = from component in expandedReference select GetGroupDistinguisher(component); return(XPathExpr.ConcatWithPipeOperator(result)); }
public XPathExpr GetRelativeXPath(IEnumerable <PSMComponent> expandedReference, bool useCurrentInstanceVariable) { IEnumerable <XPathExpr> result = from component in expandedReference select GetRelativeXPath(component, useCurrentInstanceVariable); return(XPathExpr.ConcatWithPipeOperator(result)); }