Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ MoveNext()

IteratorResult System.Xml.Xsl.Runtime.DescendantMergeIterator.MoveNext ( XPathNavigator input)
inline

Definition at line 37 of file DescendantMergeIterator.cs.

38 {
39 if (_state != IteratorState.NeedDescendant)
40 {
41 if (input == null)
42 {
43 return IteratorResult.NoMoreNodes;
44 }
45 if (_state != 0 && _navRoot.IsDescendant(input))
46 {
47 return IteratorResult.NeedInputNode;
48 }
49 _navCurrent = XmlQueryRuntime.SyncToNavigator(_navCurrent, input);
50 _navRoot = XmlQueryRuntime.SyncToNavigator(_navRoot, input);
51 _navEnd = XmlQueryRuntime.SyncToNavigator(_navEnd, input);
53 _state = IteratorState.NeedDescendant;
55 {
56 return IteratorResult.HaveCurrentNode;
57 }
58 }
60 {
61 return IteratorResult.HaveCurrentNode;
62 }
63 _state = IteratorState.NeedCurrent;
64 return IteratorResult.NeedInputNode;
65 }
virtual bool IsDescendant([NotNullWhen(true)] XPathNavigator? nav)
bool IsFiltered(XPathNavigator navigator)
bool MoveToFollowing(XPathNavigator navigator, XPathNavigator navigatorEnd)

References System.Xml.Xsl.Runtime.DescendantMergeIterator._filter, System.Xml.Xsl.Runtime.DescendantMergeIterator._navCurrent, System.Xml.Xsl.Runtime.DescendantMergeIterator._navEnd, System.Xml.Xsl.Runtime.DescendantMergeIterator._navRoot, System.Xml.Xsl.Runtime.DescendantMergeIterator._orSelf, System.Xml.Xsl.Runtime.DescendantMergeIterator._state, System.input, System.Xml.XPath.XPathNavigator.IsDescendant(), System.Xml.Xsl.Runtime.XmlNavigatorFilter.IsFiltered(), System.Xml.Xsl.Runtime.XmlNavigatorFilter.MoveToFollowing(), System.Xml.XPath.XPathNavigator.MoveToNonDescendant(), and System.Xml.Xsl.Runtime.XmlQueryRuntime.SyncToNavigator().