FrameworkFork\Microsoft.Xml\Xml\XPath\Internal\querybuilder.cs (44)
58private Query ProcessAxis(Axis root, Flags flags, out Props props)
89props = Props.None;
92if ((props & Props.NonFlat) != 0)
96props |= Props.NonFlat;
111props = Props.None;
119props |= Props.NonFlat;
123props |= Props.NonFlat;
126if ((props & Props.NonFlat) != 0)
146if ((props & Props.NonFlat) != 0)
151props |= Props.NonFlat;
161if ((props & Props.NonFlat) != 0)
166props |= Props.NonFlat;
170props |= Props.NonFlat;
174props |= Props.NonFlat;
178if ((props & Props.NonFlat) != 0)
217private Query ProcessFilter(Filter root, Flags flags, out Props props)
221Props propsCond;
226(propsCond & (Props.HasPosition | Props.HasLast)) != 0
229propsCond |= Props.HasPosition;
247props &= ~Props.PosFilter;
249if ((propsCond & Props.HasPosition) != 0)
252props |= Props.PosFilter;
258if (qyFilter != null && (propsCond & Props.HasPosition) == 0 && qyFilter.Condition.StaticType != XPathResultType.Any)
270if ((props & Props.PosFilter) != 0 && qyInput is DocumentOrderQuery)
281if ((propsCond & Props.HasPosition) != 0)
287else if ((propsCond & Props.HasLast) != 0)
295if (merge && (props & Props.PosFilter) != 0)
310return new FilterQuery(qyInput, cond, /*noPosition:*/(propsCond & Props.HasPosition) == 0);
313private Query ProcessOperator(Operator root, out Props props)
315Props props1, props2;
338props |= Props.NonFlat;
354private Query ProcessFunction(Function root, out Props props)
356props = Props.None;
362props |= Props.HasLast;
366props |= Props.HasPosition;
374props |= Props.NonFlat;
435props |= Props.NonFlat;
442private List<Query> ProcessArguments(ArrayList args, out Props props)
446props = Props.None;
449Props argProps;
459private Query ProcessNode(AstNode root, Flags flags, out Props props)
468props = Props.None;
506Props props;