public static bool IsSameScopePath(IInstancePath originalRIFObject, IInstancePath lastRIFObject) { if (null == originalRIFObject != (null == lastRIFObject)) { return(false); } if (originalRIFObject == null && lastRIFObject == null) { return(true); } if (originalRIFObject.Equals(lastRIFObject)) { return(true); } List <InstancePathItem> instancePath = originalRIFObject.InstancePath; List <InstancePathItem> instancePath2 = lastRIFObject.InstancePath; bool flag = default(bool); int sharedPathIndex = InstancePathItem.GetSharedPathIndex(0, instancePath, instancePath2, false, out flag); if (flag) { return(true); } if (sharedPathIndex < 0) { return(false); } int count = instancePath.Count; int count2 = instancePath2.Count; int i = sharedPathIndex + 1; int j = sharedPathIndex + 1; for (; i < count && !instancePath[i].IsScope; i++) { } if (i + 1 == count && instancePath[i].m_indexType == InstancePathItemType.SubReport) { i = count; } for (; j < count2 && !instancePath2[j].IsScope; j++) { } if (i == count && j == count2) { return(true); } return(false); }
public static bool IsSamePath(List <InstancePathItem> path1, List <InstancePathItem> path2) { if (null == path1 != (null == path2)) { return(false); } if (path1 == null && path2 == null) { return(true); } if (path1.Count != path2.Count) { return(false); } bool result = default(bool); InstancePathItem.GetSharedPathIndex(0, path1, path2, false, out result); return(result); }
public static int GetSharedPathIndex(int startIndexForNewPath, List <InstancePathItem> oldPath, List <InstancePathItem> newPath) { bool flag = default(bool); return(InstancePathItem.GetSharedPathIndex(startIndexForNewPath, oldPath, newPath, false, out flag)); }