private void CollectIndexedNodes(IEnumerator qcons) { while (qcons.MoveNext()) { QCon qcon = (QCon)qcons.Current; if (IsCached(qcon)) { continue; } if (IsLeaf(qcon)) { if (qcon.CanLoadByIndex() && qcon.CanBeIndexLeaf()) { QConObject conObject = (QConObject)qcon; if (conObject.HasJoins()) { CollectJoinedNode(conObject); } else { CollectStandaloneNode(conObject); } } } else { if (!qcon.HasJoins()) { CollectIndexedNodes(qcon.IterateChildren()); } } } }
private bool AllCanBeSearchedByIndex(Collection4 leaves) { IEnumerator i = leaves.GetEnumerator(); while (i.MoveNext()) { QCon leaf = ((QCon)i.Current); if (!leaf.CanLoadByIndex()) { return(false); } } return(true); }